SSH Connection Issues
Can’t connect via SSH? Here’s every common cause, and the fix for each.
SSH won’t connect. Before you assume the server is down, work through these checks. Most SSH failures are client-side.
Quick Diagnosis
Run SSH in verbose mode to see exactly where it fails:
ssh -vvv user@your-server-ip
The output tells you where the connection stalls. Match it below.
Common Problems
Connection Refused
ssh: connect to host x.x.x.x port 22: Connection refused
| Cause | Fix |
|---|---|
| SSH service isn’t running | Reboot the server from the client area. If you can access a web console, run sudo systemctl start sshd |
| Wrong port | If you changed the SSH port, specify it: ssh -p 2222 user@server-ip |
| Firewall blocking port 22 | If you have web console access: sudo ufw allow 22/tcp |
| Server is down | Check status in the client area → Services → My Services |
Connection Timed Out
ssh: connect to host x.x.x.x port 22: Connection timed out
This means packets aren’t reaching the server at all.
- Check the IP. Is it correct? Typos happen
- Ping the server:
ping your-server-ip. If it doesn’t respond, the server might be down or ICMP is blocked - Try from another network. Your ISP or local firewall might be blocking port 22
- Check the server is running. Use the client area to verify status and trigger a reboot if needed
Permission Denied (Password)
Permission denied (publickey,password).
- Check username. Are you using the right user? (
root, or the non-root user you created) - Check password. Copy-paste from your welcome email. Watch for trailing spaces
- Root login disabled? If you set
PermitRootLogin noin sshd_config, use your non-root user - Password auth disabled? If you set
PasswordAuthentication no, you need SSH keys
Permission Denied (Public Key)
Permission denied (publickey).
Your key isn’t being accepted. Check these in order:
| Check | Command / Action |
|---|---|
| Right key being offered? | ssh -vvv user@server (look for “Offering public key” lines) |
| Key exists on server? | Check ~/.ssh/authorized_keys on the server |
| File permissions? | chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys |
| Key format? | Make sure you copied the public key (.pub), not the private key |
| Correct user? | The key must be in the target user’s ~/.ssh/authorized_keys, not root’s |
The most common mistake: wrong permissions on ~/.ssh or authorized_keys. SSH silently refuses to use the key if permissions are too open.
Host Key Verification Failed
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
This appears when:
- You reinstalled the server. The host key changed. Safely remove the old entry:
ssh-keygen -R your-server-ip - You’re connecting to a different server on the same IP. Same fix
If you see this warning without having reinstalled or changed anything, someone might be intercepting your connection (MITM attack). Don’t connect until you’ve verified the server’s fingerprint through another channel.
Connection Drops After Login
You connect but get disconnected immediately or after a few minutes.
| Cause | Fix |
|---|---|
| Shell misconfigured | Try ssh user@server /bin/bash to bypass the default shell |
| Server out of memory | Reboot from the client area, then check free -h |
| Idle timeout | Add to your local ~/.ssh/config: ServerAliveInterval 60 |
| Disk full | Server can’t write to log files. Use web console to free space |
Windows-Specific Issues
| Problem | Fix |
|---|---|
ssh not recognised | Use PowerShell or Windows Terminal (not cmd.exe). Or install Git for Windows which includes SSH |
| Key file permissions warning | Right-click the key file → Properties → Security → remove all users except yourself |
| PuTTY can’t use OpenSSH keys | Convert with PuTTYgen: Conversions → Import key → save as .ppk |
SSH Config File
Save yourself from typing long commands. Create or edit ~/.ssh/config:
Host myserver
HostName 192.168.1.100
User deploy
Port 2222
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60
Now connect with just:
ssh myserver
What to Do Next
- Connecting to Your Server via SSH: SSH setup from scratch
- First Boot: Initial Server Setup: secure your server after connecting
- How to Get Support: if none of the above works
Last updated 05 Apr 2026, 00:00 +0200.