SSH Connection
Connect to your server with SSH key management and troubleshooting.
How getbot connects
getbot uses SSH to manage your server — installing Incus, creating containers, deploying bots. All communication happens over your existing SSH connection; getbot doesn't run any background daemons or open additional ports on your machine.
SSH key auto-generation
If you don't provide an SSH key path during setup, getbot auto-generates an ed25519 key pair at ~/.getbot/id_ed25519. It then prints the exact command to copy the key to your server:
Generated SSH key: ~/.getbot/id_ed25519
Copy it to your server:
ssh-copy-id -i ~/.getbot/id_ed25519 root@203.0.113.10 Run that command, enter your server password once, and all future SSH connections use the key. getbot saves the key path to your config so you don't need to specify it again.
Connection verification
The setup wizard verifies your SSH connection immediately — before asking for your AI provider or bot details. If the connection fails, you fix it right away instead of filling out a form and discovering the problem at deploy time.
Troubleshooting
When SSH fails, getbot classifies the error and tells you exactly what to do:
- Permission denied — your key isn't on the server. Run
ssh-copy-id -i <key> <user>@<host>, or check that your key file haschmod 600permissions. - Connection refused — SSH isn't running on the server. Check
sudo systemctl status sshdand make sure port 22 is open in your firewall. - Host key verification failed — the server's fingerprint changed (reinstall, new IP). Run
ssh-keygen -R <host>to clear the old fingerprint, then reconnect. - Timed out — can't reach the server. Verify the IP address is correct and port 22 is open (
ufw allow 22or equivalent). - Too many authentication failures — SSH is trying too many keys. Specify your key explicitly with
--ssh-key, or runssh-add -Dto clear the agent.
Key requirements
- Key type — ed25519 (recommended) or RSA. getbot auto-generates ed25519.
- Permissions — private key must be
0600or0400. getbot rejects world-readable keys. - SSH user — defaults to
root. The user needs sudo privileges for Incus installation.