Menú de documentación

Documentación

Remote access over SSH

Attach to a TDE session with public-key SSH without exposing a shell.

En esta página

Attach over SSH without exposing a shell

tde serve --ssh publishes a selected TDE session through an SSH server built into the TDE binary. It is a direct, self-hosted access path for networks you control; it does not expose a general-purpose shell, command execution, SFTP or port forwarding.

Load one GitHub user's public keys and listen on loopback:

bash
tde serve --ssh --github USER
ssh -p 2222 tde@127.0.0.1

The command starts the configured TDE session if it is not already running. Use --session NAME to select another session. Without --github or --authorized-keys, TDE uses ~/.ssh/authorized_keys when that file exists. Multiple key sources are accepted and duplicate keys are removed.

Publishing deliberately

The default bind is 127.0.0.1:2222. To listen on another interface, make the exposure explicit and restrict its origin:

bash
tde serve --ssh \
  --bind 0.0.0.0:2222 \
  --github USER \
  --allow-cidr 203.0.113.0/24 \
  --rate-limit 10 \
  --max-connections 4

Firewall, NAT, Tailscale and provider rules remain the first network boundary. --allow-cidr can be repeated. Zero-valued limits are rejected.

Security contract

  • Authentication is public-key only; the SSH user is always tde.
  • GitHub keys come from https://github.com/USER.keys over HTTPS.
  • Options such as command= in authorized_keys are discarded; only key type and body enter the allowlist.
  • With no valid key source, the server fails closed.
  • The channel carries only the selected TDE session.
  • The Ed25519 host key lives at ~/.tde/ssh/host_ed25519 with owner-only permissions on Linux and macOS.
  • The default protection is 10 authentication attempts per minute per IP and four simultaneous connections per IP.

Choosing a remote path

PathBest forInfrastructure
Web Share on LAN/TailscaleBrowser and phone accessYour host and network
tde serve --sshTerminal-native attach with your SSH keysYour host and network
Hosted Web Share relayPublic browser reach managed by TDEIncluded with Sync

SSH access is not a self-hosted copy of the hosted relay. It is a separate, direct transport for a session you operate.