Documentação
Remote access over SSH
Attach to a TDE session with public-key SSH without exposing a shell.
Nesta 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:
tde serve --ssh --github USER
ssh -p 2222 tde@127.0.0.1The 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:
tde serve --ssh \
--bind 0.0.0.0:2222 \
--github USER \
--allow-cidr 203.0.113.0/24 \
--rate-limit 10 \
--max-connections 4Firewall, 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.keysover HTTPS. - Options such as
command=inauthorized_keysare 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_ed25519with 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
| Path | Best for | Infrastructure |
|---|---|---|
| Web Share on LAN/Tailscale | Browser and phone access | Your host and network |
tde serve --ssh | Terminal-native attach with your SSH keys | Your host and network |
| Hosted Web Share relay | Public browser reach managed by TDE | Included 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.