Thunder Compute is designed to eliminate the need for manually SSHing. For most users, you will want to ‘Connect’ to instances with our CLI or VS Code extension.

Under the hood, we wrap SSH setup, key management, and port-forwarding for your convenience. See the Quick-Start guide for a full walkthrough.
Some custom setups may require direct SSH access, for example, setting up remote-ssh in an unsupported editor. If this describes your use, read on.

1. How to SSH into a Thunder Compute instance

To manually SSH into your Thunder Compute instance:
  1. Connect once with the CLI to set up your SSH configuration:
    tnr connect
    
    This automatically adds your instance as tnr-0 in your SSH config and sets up the necessary keys.
  2. SSH directly using the configured alias:
    ssh tnr-0
    
  3. Use with other IDEs: You can also use tnr-0 with other remote SSH tools like VS Code Remote-SSH, JetBrains Gateway, or any SSH-compatible IDE.
That’s it! The CLI handles all the key management and configuration for you. If you need to manually add an SSH key, you can add it to the authorized keys folder within your instance.

2. Troubleshooting SSH Errors

When you run tnr connect, the tool SSHs into your instance automatically. If something goes wrong, you might see errors such as:
  • Bad permissions“Try removing permissions for user: \OWNER RIGHTS (S-1-3-4) on file C:\Users<your_username>.ssh\config.”
  • Error reading SSH protocol banner (often means the instance is out of memory and the SSH handshake cannot complete).
  • Key authentication failed (your SSH key is outdated or misconfigured).
  • Invalid config Your local ~/.ssh/config file is malformed. Delete this file and retry tnr connect.
Follow the steps below to fix the problem.

A. Restart the Instance

A quick restart clears many transient issues:
tnr stop
tnr start
Wait about a minute, then try tnr connect again.

B. Test a Manual SSH Connection

Get a more detailed error message by bypassing tnr connect:
ssh tnr-0

C. Fix Common Issues

Out-of-Memory

If you see Error reading SSH protocol banner, the instance may have run out of RAM. Wait a few seconds and retry. For a permanent fix, launch an instance with more resources. Tip: 8-16 vCPUs generally provide enough memory for most ML workloads.

Permissions Problems

# Run PowerShell as Administrator
icacls "$env:USERPROFILE\.ssh\config" /reset
icacls "$env:USERPROFILE\.ssh\config" /inheritance:r
Rename-Item -Path "$env:USERPROFILE\.ssh\config" -NewName 'config.old'

Corrupted Known-Hosts or Thunder Compute Locks

Known-Hosts
Rename-Item -Path "$env:USERPROFILE\.ssh\known_hosts" -NewName 'known_hosts.old'
Thunder Compute Locks & Keys
Remove-Item -Recurse -Force "$env:USERPROFILE\.thunder\locks"
Remove-Item -Recurse -Force "$env:USERPROFILE\.thunder\keys"

D. Reinstall the Thunder Compute CLI or VS Code Extension

If the steps above do not resolve the error, reinstalling the tooling often does:
  1. Remove the existing CLI or extension.
  2. Download the latest installer from Thunder Compute download.
  3. Re-run tnr login followed by tnr connect.

E. Still Having Issues?

Open a ticket in our Discord support channel with the exact error output, and we will get you unblocked fast. Happy troubleshooting!