guide

Access IoT Devices from Anywhere

Updated June 19, 2026 4 min read Pinggy Blog
Share

Access IoT Devices from Anywhere

You can SSH into your IoT devices from anywhere in the world with a single command - no public IP, no port forwarding, no router configuration required.

Summary

  1. Run this command on your IoT device such as Raspberry Pi:

    text
    ssh -p 443 -R0:localhost:22 tcp@free.pinggy.io
  2. This command creates a TCP tunnel and it will output a public URL like tcp://tljocjkijs.a.pinggy.link:40527.

  3. Use the SSH command with the URL and port to connect to your IoT device:

    text
    ssh -p <port> <username>@<pinggy_url>

    Example: ssh -p 40527 pi@tljocjkijs.a.pinggy.link

  4. Now, you can securely SSH into your IoT device from anywhere in the world.

  5. Sign in to https://pinggy.io and use an access token to get a persistent, named tunnel address.

As developers and DevOps engineers we need remote access to IoT fleets to monitor, maintain, push updates, and add features. The ability to SSH into these devices from anywhere is central to that workflow. The problem: most IoT devices sit behind NAT with no public IP, so you can’t just open an SSH connection directly.

Using Pinggy you can get a TCP tunnel for SSH access in seconds. It punches through NAT and gives you a public URL you can connect to from any machine on the internet.

There are a few approaches to remote IoT access:

  • SSH remote access - gives you a full terminal on the device. Most reliable for headless devices and scripted automation.
  • RDP / VNC for remote desktop - useful when you need the GUI. Higher bandwidth requirement.
  • Manufacturer web portals - convenient but often cloud-locked and limited in capability.

This guide focuses on SSH, which covers the majority of IoT use cases.

Using Pinggy for SSH from anywhere

Pinggy works with Raspberry Pi, Banana Pi, Orange Pi, NanoPi NEO, Odroid, Rock Pi, NVIDIA Jetson Nano, and any Linux-based IoT device. As long as the device has outbound internet access and runs an SSH server, this works.

Step 1: Create a tunnel to your IoT device

On your IoT device, open a terminal and run:

text
ssh -p 443 -R0:localhost:22 tcp@free.pinggy.io

This connects out to Pinggy’s server over port 443 (which is almost never blocked by firewalls) and sets up a tunnel that forwards traffic back to your device’s port 22.

Customize your command:


Invalid CIDR Format
Invalid CIDR Format
Alphanumeric characters only

Step 2: Obtain the public URL

After running the command, Pinggy prints a public URL in this format:

tcp://tljocjkijs.a.pinggy.link:40527

Note the hostname and port. The URL changes each time you reconnect on the free plan - if you need a stable address, use an access token (covered below).

Public URL

Step 3: SSH into your IoT device

From any machine with internet access, run:

text
ssh -p 40527 username@tljocjkijs.a.pinggy.link

Replace username with your device’s username, and use the hostname and port from your Pinggy output. The connection goes to Pinggy’s server, which routes it through the tunnel to your device.

Tip: the default username on Raspberry Pi OS is pi on older images and the username you set during setup on newer ones.

Persistent tunnel address with the Pinggy dashboard

On the free plan, the public URL changes every time you reconnect. For devices you need to reach regularly, use an access token to get a consistent tunnel tied to your account.

Step 1: Sign in to Pinggy

Go to dashboard.pinggy.io and sign in. Create a free account if you don’t have one.

Step 2: Get your access token

Your access token is on the dashboard home. Copy it.

Step 3: Create the tunnel with your token

text
ssh -p 443 -R0:localhost:22 <access_token>+tcp@pro.pinggy.io

Replace <access_token> with the token from the dashboard. With a token, you can also see the active tunnel URL from the dashboard without needing to be on the device - useful when you’ve forgotten what address the device is on.

Remote desktop access

If you need GUI access rather than a terminal, the same approach works. Start a VNC or RDP server on your device, then tunnel to that port instead:

text
ssh -p 443 -R0:localhost:5900 tcp@free.pinggy.io

(Port 5900 is the default VNC port.) Connect with your VNC viewer using the Pinggy URL and port.

Conclusion

Pinggy gives you SSH access to IoT devices from anywhere with no router changes and no static IP. The free plan works fine for occasional access; a paid plan or access token gives you a stable URL for devices you connect to regularly.