Manually SSHing is an advanced escape hatch. Thunder Compute already handles SSH, port forwarding, and key rotation through the CLI, VS Code extension, and console. Stick to the standard connect flows unless you have existing infrastructure that relies on raw SSH.
Save an SSH key
Run tnr ssh-keys add to launch the interactive picker. The CLI autodetects keys in ~/.ssh/*.pub, so you just confirm the one you want.
Use tnr ssh-keys list anytime to verify what is saved:
Saved keys live at the org level, so everyone on your team can reuse them when creating instances.
Attach a key when creating an instance
Pass --ssh-keys <name> to tnr create:
tnr create --ssh-keys my-key
The CLI links your local private key for your reference, but tnr connect does not reuse these keys—it maintains its own managed access.
Instances include the selected public key in authorized_keys at boot. You can add keys later via the Add SSH key to instance API endpoint.
SSH manually
-
Find the instance IP and SSH port from the table output of
tnr status:
Instance IPs stay the same for the life of the VM, but confirm the SSH port each time you reconnect.
-
From your local machine, run SSH with the private key that matches the saved public key, the reported port, and the
ubuntu user:
ssh -i ~/.ssh/id_ed25519 -p <port> ubuntu@<instance-ip>
Replace ~/.ssh/id_ed25519 with your private key path. Substitute <port> with the value from tnr status. Most images use the ubuntu user; check your template if it differs.
-
Optional: copy the command into JetBrains Gateway or any remote-SSH client.
Quick troubleshooting
- Permission denied: make sure you are connecting as
ubuntu, using the -p <port> from instance details, and that the matching private key exists locally (the CLI will warn if it cannot link it).
- Connection timed out: re-check that you copied the correct port; the IP stays stable, but the exposed port can change if the instance is cycled.
- Host verification failed: remove the old entry from
~/.ssh/known_hosts and retry. New IPs will change fingerprints.
- Still stuck? Double-check the IP, port, and key, or send a message in Discord with the SSH output.