Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to connect to a solaris server using putty from a windows client. SSH connection is not working. The terminal window just gives an error message "Network error:Connection refused". Telnet using putty is working fine with the same server. Can someone please detail what configurations needs to be checked in this case? How to troubleshoot? (There are other servers in the same network which allows SSH connection.)

share|improve this question
up vote 6 down vote accepted

Here is a series of steps you can use to diagnose the problem:

  1. Check if sshd is running on the host(ps -ef|grep ssh)
  2. Ensure that sshd is binding to port 22 using netstat (netstat -al|grep "LISTEN " should work)
  3. See if you can connect to the real IP address via ssh from the host machine (if not, there is either a local firewall, or sshd is not working as it should
  4. Try to ping the host from the client machine (if this fails, there is a routing problem)
  5. Try to telnet to port 22 from the client machine (telnet 22) (if this fails, a firewall is blocking you)
  6. Finally, if all the above succeed, but you cannot ssh using the ssh client - re-install your ssh client.
share|improve this answer

Check if there isn't a firewall between you and the server.

share|improve this answer

I know it seems a very obvious check. But have you confirmed that your Solaris server has a sshd running? Once you have telneted to the machine run netstat to see if it is listening on the ssh port (port 22). If it is then you next port of call will be to check /etc/hosts.allow and so forth as MathewC suggested

share|improve this answer

If you confirm ssh is running on the machine, you may want to check if the client machine you're trying to connect from can see port 22 as open using nmap.

nmap -p22 [solaris-box-ip]

share|improve this answer

If this is Solaris 10, check if SSHD is running by issuing the svcs -p ssh command. That'll tell you if SSH is running, and, if not, why (maybe a dependancy failed for some reason, or maybe it was disabled).

You can enable SSH by issuing svcadm enable ssh

share|improve this answer
It is solaris 5.8 – user10090 Jun 19 '09 at 12:54
In that case you can't use services. I would refer to the other answers (using ps -ef | grep sshd to check the process; netstat -a to check the port, etc.) to verify it's running. If it's not, track down where it should be started from (probably rc2.d or rc3.d, or part of the inetd startup). Also check your /var/adm/messages and /var/log/syslog files to see if SSHD attempted to start and caught an error. That could explain why it's not running. – Milner Jun 19 '09 at 13:10

Connection refused means the service is running but you don't have access.

Check /etc/hosts.allow

You might need to also run

inetadm -m network/telnet:default tcp_wrappers=TRUE

share|improve this answer
/etc/hosts.allow file is not present in any of the servers here(other servers which allows ssh connection also doesnt have this file). – user10090 Jun 19 '09 at 12:44
Connection refused also means that the service is not running (and there is no firewall dropping the packets silently). – pauska Jun 19 '09 at 12:55
hmm, I thought that would show as a timeout instead of an instant refusal. – MathewC Jun 19 '09 at 13:25

to add on to the list of checks, use svcs -xv to check if there are any failed services, and if ssh is one of them. This gives you a breakdown on why the service failed as well.

share|improve this answer
Is there any benefit to this compared to the previous answer by Milner? – kasperd Mar 10 at 10:45
It could show if there are failed services other than just the SSH, such as those specific to the system, and could be key in helping to solve the issue. But then again I'm just a noob just trying to help. – QwertyForever May 31 at 9:07

protected by HopelessN00b Mar 10 at 10:48

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.