SSH “connection refused” diagnostics

ssh

I'm getting a constant "connection refused" while trying to connect over SSH from OS X to a CentOS VPS with a WHM control panel. SSH is enabled in WHM, and I've generated SSH keys. I also tried SSH with the firewall off for a minute , but no luck.

After perusing other questions, I've run ssh -vv root@xx.xxx.xx.xx and that gives me:

debug2: ssh_connect: needpriv 0
debug1: connect to address xx.xxx.xx.xx port 22: Connection refused

and running nc -zvw 2 xx.xxx.xx.xx 22 gives me

nc: connect to xx.xxx.xx.xx port 22 (tcp) failed: Connection refused

What do these really mean? What else can I try?

Best Answer

The port appears to be closed (or filtered, but you say you've already tried disabling the firewall - you mean the one on the VPS, right?).

Can you please post the output of this command on the VPS if you have access by other means?

netstat -ntlp

It should list all open ports. Check port 22 is up on the right IP if you have several.

Do you have outgoing traffic firewall rules on the OSX client?

Edit: I took the liberty of running a port scan against that host and it doesn't seem to have a firewall up anyway, as many ports are open (you should probably close some or most when you can). SSH doesn't seem to be up though:

Starting Nmap 5.00 ( http://nmap.org ) at 2011-04-13 15:36 GMT+3
Interesting ports on ns1.resume-resource.com (72.249.28.26):
Not shown: 958 filtered ports, 31 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
25/tcp   open  smtp
53/tcp   open  domain
80/tcp   open  http
110/tcp  open  pop3
143/tcp  open  imap
443/tcp  open  https
465/tcp  open  smtps
993/tcp  open  imaps
995/tcp  open  pop3s
2200/tcp open  unknown

Try /etc/init.d/sshd restart and check /var/log/messages for errors.