Ask Ubuntu is a question and answer site for Ubuntu users and developers. 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

So I am trying to get ssh working on my server. I can connect on my local network with the local ip address of the server perfectly fine. When I try to connect remotely (through a domain name that I set-up for the server, which I know works) I get this connection refused error:

ssh: connect to host port 22: Connection refused

From the research I have done into the problem it looks like something is going wrong with my router. I have configured port-forwarding, but that's the only think I can think is causing the "Connection Refused" error... My router is a WRT120N and I have configured it for port-forwarding based on, which seems somewhat outdated since some of those images are not exactly like what my router settings look like, but I have tried multiple ways for setting the portforwarding up, and I know that forwarding for port 80 works because my server has HTTP access which is working...

Also VPN access was getting blocked in what I believe to be a similar way, so the solution to the SSH port 22 being blocked might also be similar to that of the VPN being blocked as well.

Any ideas?


share|improve this question
up vote 5 down vote accepted

Your ISP may block connections to port 22 (nothing you or your router can do about it). Just set SSHd to run on a different port, e.g. 2222.

In /etc/ssh/sshd_config, change Port 22 to Port 2222 and then sudo service ssh restart. Port forward 2222 (or whatever), and try again.

share|improve this answer
I still get the same connection refused error (22 when I don't specify a port when using ssh and 2222 when I use -p 222). I put incoming port 22 to forward to 2222 and changed the port to 2222 in sshd_config. Am I leaving out something? – bahudso May 31 '12 at 1:35
Just try this: Incoming 2222 on router has to forward to 2222 (with port 2222 set in sshd_config). – izx May 31 '12 at 1:45
Looks like that was it! Thanks! – bahudso May 31 '12 at 4:00

Check the SSH service status and start the SSH service if it is stopped:

sudo service ssh status

In my case SSH was stopped, but after starting the service:

sudo service ssh start

I can be able to remote login to Linux.

share|improve this answer

Just to share. (might be with different configuration)

In my case, I found that that error can happen because I have not install openssh-server in the other machine.

After I install openssh-server in the other machine, the problem:

ssh: connect to host 192.168.XXX.XXX port 22: Connection refused

is solved.

share|improve this answer
  1. First check openssh-server installed in that system.

  2. check the status of ssh service, make ssh service start.

    sudo service ssh status    
    sudo service ssh start
  3. Check iptables in that system that port 22 is blocked. Just allow port in iptables and then check.

    sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
  4. Else change port number of ssh from 22 to 2222 by editing

    vi etc/ssh/sshd_config    
    /etc/init.d/ssh restart.
share|improve this answer

The other likely cause is that the proxy in between the terminal-session and the host-server needs userid-password access, that it is rejecting to allow the traffic flow, this is due to a network-firewall or ssl-socks etc.

share|improve this answer
This does not seem like a 'likely cause', especially given the accepted answer. – belacqua Jul 8 '13 at 20:33

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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