Guides

Remote access

Managed SSH Access for Your AI Agent Instance

Use real SSH, SCP, or SFTP through your own Tailscale network. This is a limited preview: start only when your running instance shows an SSH action in the dashboard.

Before you start

This access method does not expose an inbound public SSH port. It joins the instance to your Tailscale network, then Tailscale SSH applies your network and SSH policies. It works for either framework when the dashboard actually exposes the SSH action; it is not yet available to every customer or every instance.

For a quick browser-only session, or whenever SSH is unavailable, open Terminal or Files from the instance page. They remain useful alternatives and need no Tailscale installation.

1. Install Tailscale on the computer you will use

Install the client for your Mac, Windows PC, or Linux machine from Tailscale's download page, then sign in to the same Tailscale account that will create the auth key below.

  • Mac: open Tailscale and approve its network extension and VPN configuration when prompted. On macOS 15 or later, the extension setting is under System Settings → General → Login Items & Extensions → Network Extensions. Wait until Tailscale says Connected. Press ⌘ Space, type Terminal, and press Return to open the app where you will run SSH.
  • Windows: sign in through the Tailscale app, then use PowerShell for ssh, scp, or sftp.
  • Linux: install with Tailscale's instructions, sign in, then use your regular terminal. The tailscale CLI can help check connection state.

The Tailscale Mac app shows your devices and connection state. Run the SSH command in Terminal; there is no built-in SSH terminal page in that app.

2. Create a one-time auth key

In the Tailscale admin console, create an auth key with these settings:

  • Reusable: off
  • Ephemeral: off
  • Tags: leave unset
  • Pre-approved: turn it on only if your tailnet requires device approval; otherwise leave the default.

Copy the key and paste it only into the SSH modal for that dashboard instance, then select Enable SSH. Do not put it in a terminal command, config file, chat, or ticket. The key enrolls the instance once and is then spent.

3. Copy the command the dashboard gives you

Wait for the modal to report that SSH is enabled. Copy its exact username and machine name or Tailscale IP. For an OpenClaw instance, the dashboard currently supplies node; do not guess a username for Hermes Agent or substitute a hostname from another instance.

# Use the exact values copied from your SSH modal
ssh <copied-user>@<copied-host>

# Example placeholders only
ssh [email protected]

Tailscale SSH access depends on both network policy and SSH rules. A policy in check mode may show a verification link in the terminal; open that link in your browser and complete the check. Some tailnets use accept rules instead, so a first-login check is not universal.

Transfer files with SCP or SFTP

Tailscale SSH supports normal file transfer tools. Use the exact modal values and a home-folder destination appropriate for the username it provides.

# Copy a local file to the remote home folder
scp ./report.csv <copied-user>@<copied-host>:~

# Start an interactive file-transfer session
sftp <copied-user>@<copied-host>

Keep access working

The enrollment auth key and the device key are different. Expiring the auth key does not remove an already enrolled device. Its access still depends on device key expiry and your tailnet policy. Tailscale commonly sets device key expiry to 180 days; your tailnet can change that. Review the instance in Machines settings and configure expiry for your policy.

Select Disconnect SSH in the dashboard when you no longer need access. That stops SSH access through this enrollment. Reconnecting later requires a newly generated one-time key.

Troubleshooting

  • No SSH action: the preview is not enabled for that instance. Use browser Terminal and Files.
  • Mac will not connect: approve the Tailscale network extension and VPN prompt, then ensure the app is signed in.
  • Wrong account: your local device and the auth key must belong to the same tailnet.
  • Disconnected or expired device: inspect the device in Tailscale Machines settings and renew or adjust its expiry under your tailnet policy.
  • Name does not resolve: use the Tailscale IP shown in the SSH modal instead of the machine name.
  • Permission denied: check both your tailnet network policy and its SSH rule, including the allowed username. Use the username copied from the modal.

Official references

Managed SSH FAQ

Why do I not see an SSH action on my instance?

SSH is a limited preview. It is available only where the instance page shows the SSH action. If it is absent, use the browser Terminal and File Manager instead.

Does this work with Hermes Agent?

The connection path is framework-neutral: it uses your Tailscale network. Use it with OpenClaw or Hermes Agent only when that instance shows the SSH action, and copy the username the modal supplies. Do not assume an OpenClaw username for a Hermes instance.

Will my first SSH connection open a verification page?

It can. Your tailnet SSH policy may require a browser check before access is granted. That depends on your Tailscale rules, so it is not guaranteed on every first connection.

What happens when I disconnect SSH?

Disconnect SSH in the dashboard to remove this instance from your tailnet and stop access. To connect it again later, generate a new one-time auth key and enroll it again.

Related guides

Open your managed instance

If your instance shows SSH, enroll it from the dashboard. Otherwise, browser Terminal and Files are ready without local setup.

Open dashboard