Skip to main content

Fix PuTTY “Connection timed out” when noVNC works

Learn why SSH times out even though noVNC works, and how to restore access step by step.

Andy Wallace avatar
Written by Andy Wallace
Updated over a month ago

If PuTTY cannot connect but the noVNC console works, your VPS is reachable but SSH is blocked, misconfigured, or listening on a different port. The steps below help you find the cause and fix the connection.


Before you start

Make sure you are testing using the correct details from your LumaDock client area.
Use the public IPv4 of your VPS and confirm which SSH port your system is using.
If you connect with an SSH key, convert it to .ppk using PuTTYgen before trying PuTTY.


Step 1 — Test from your computer

These quick tests confirm whether your computer can reach the SSH port.



Check TCP reachability


On Windows PowerShell:

Test-NetConnection <SERVER_IP> -Port 22

On macOS or Linux:

nc -vz <SERVER_IP> 22 # or (if installed) nmap -Pn -p22 <SERVER_IP>

If the result is open, the network path is working.
If you see filtered or timeout, a firewall is blocking the port.
If you see closed or refused, SSH is not listening on the server.



Verify PuTTY settings

  • Host Name: your VPS IPv4 address.

  • Port: 22 unless you changed it.

  • Connection type: SSH.

  • Proxy: set to None if you need to force IPv4.


Step 2 — Check the LumaDock firewall

SSH must be allowed in your provider-side firewall before your VPS can receive packets.

Open your firewall options and add or verify this rule:

  • Allow TCP 22 from 0.0.0.0/0 while testing.

  • If you use a custom SSH port, open that instead.

  • If DDoS filtering is enabled, make sure it does not block SSH traffic.


Step 3 — Fix SSH from inside the VPS (via noVNC)

Using the noVNC console ensures you always have access even if SSH is down.



Check networking

ip addr ip route

This confirms that your VPS has the expected IP and default route.



Check the SSH service

Ubuntu and Debian:

sudo systemctl status ssh || sudo systemctl start ssh

CentOS, AlmaLinux, Rocky Linux:

sudo systemctl status sshd || sudo systemctl start sshd

To verify that SSH is listening:

sudo ss -lntp | grep :22



Allow SSH in the internal firewall

Ubuntu and Debian (UFW):

sudo ufw allow 22/tcp
sudo ufw reload

RHEL-based systems:

sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --reload



Review sshd configuration

sudo grep -E '^(Port|ListenAddress|PasswordAuthentication)' /etc/ssh/sshd_config

If you use a custom port, open it in both firewalls and restart SSH:

sudo systemctl restart sshd



Check login details

  • Usernames can be root, or a distro-specific user like ubuntu, debian, or rocky.

  • Make sure your SSH key is present in ~/.ssh/authorized_keys.



Check security tools such as Fail2ban

sudo fail2ban-client status sshd \
sudo fail2ban-client set sshd unbanip <YOUR_IP>


Step 4 — Quick fixes

  • Open TCP port 22 (or your custom port) in both the LumaDock firewall and inside the VPS.

  • Enable SSH at boot:

sudo systemctl enable --now sshd
  • Confirm you are using the correct username and the VPS IPv4 address.

  • Test again after each change.


Contact LumaDock Support

If SSH still times out, open a support ticket and include:

1) Your VPS IP address and SSH port.

2) Connection test output:

  • Test-NetConnection <IP> -Port <PORT> (Windows)

  • nmap -Pn -p<PORT> <IP> (macOS/Linux)

3) SSH service status:

  • sudo systemctl status sshd

  • sudo ss -lntp | grep :<PORT>

4) Your public source IP and the approximate time of your connection attempt.

This information helps us diagnose routing and firewall issues quickly.

Did this answer your question?