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 bahhudson.mine.nu 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 Portforward.com, 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?



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.

  • 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
  • 1
    Just try this: Incoming 2222 on router has to forward to 2222 (with port 2222 set in sshd_config). – ish May 31 '12 at 1:45
  • @izx kudos for the router rules. At some point I thought that I was freaking out and don't know what I'm doing. LOL! – GTodorov Nov 9 '17 at 17:43
  • For future readers. Make sure that you are referring /etc/ssh/sshd_config (notice sshd) file. After pulling my hair for an hour I came to know this small difference. ;P – Shashanth Sep 19 '18 at 11:57
  • My new router uses port 22 for it's remote administration feature and doesn't list it anywhere on the interface, so it may not necessarily be the ISP. – tu-Reinstate Monica-dor duh Oct 8 '18 at 22:48

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.

  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.
  • Thanks! It worked for me! This should be the accepted solution! – Qazi Fahim Farhan Oct 16 '20 at 13:04

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.


I solved this problem by reinstalling openssh-server as follows:

sudo apt-get purge openssh-server 
sudo apt-get install openssh-server
  • 1
    On client or server ? Sorry, I don't know much. – user227495 Feb 15 '20 at 2:43

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.

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

The solution will be by adding the port number of your server preceded with "-p":

Example of the command line:

ssh -L localport: username@ServerIP **-p** **serverport**

Just go to whm then open Host Access Control Change as follows

sshd ALL allow


I got the same error, but, after restarting my computer, everything worked again.

So, you may want to give it a try before reinstalling some components.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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