This quickstart shows you how to make a service running on a remote device accessible from the internet using ngrok.Documentation Index
Fetch the complete documentation index at: https://ngrok.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
What you’ll need
- An ngrok account
- A device with network access (Linux, Windows, Raspberry Pi, or any system with a CPU and network connection)
- A service running on the device (for example, an HTTP server on port 8080 or SSH on port 22)
1. Install the ngrok agent
Download ngrok on your device and authenticate:2. Start a tunnel
Use the following command to start a tunnel with the ngrok agent. When the command runs, the agent reaches the ngrok cloud using a single outbound TLS connection on port 443, creating a secure tunnel to the service on your device. No inbound firewall rules or port forwarding are required on the remote network- HTTP
- SSH
- RDP
Expose an HTTP service running on the device.
Replace
8080 with any port where your service is running:3. Connect to your device
Copy the public URL from the agent console and use it to reach your device from anywhere. For HTTP endpoints, open the URL in a browser. For TCP endpoints (like SSH), connect using the provided host and port:4. Run ngrok as a service
For production deployments, install ngrok as a background service so it starts automatically and recovers from crashes:Next steps
- Full walkthrough: follow a detailed example configuring a smart factory with internal and cloud endpoints
- Installation guides: platform-specific setup for Linux, ARM64, Raspberry Pi, and Windows
- Fleet management: manage credentials and multi-tenancy across thousands of devices
- Traffic Policy: add authentication, rate limiting, and access control at ngrok’s edge