I am getting a
port 22: Connection refused
error while connecting to a server.
I have both the openssh client and server installed, and they are running. But still there is an error. Please help.
I am getting a
port 22: Connection refused
error while connecting to a server.
I have both the openssh client and server installed, and they are running. But still there is an error. Please help.
I went through this issue and finally got appropriate answer.
sudo apt-get update
sudo apt-get install openssh-server
sudo ufw allow 22
Then went into raspi-config
in a terminal window and enabled ssh.
This will allow port 22 to be used for sshd.
connection refused
error is so cryptic, I had no idea if it was a firewall issues, username issue, IP address issue, etc etc. Very frustrating.
Commented
Jun 20, 2019 at 1:53
sudo ufw allow 22
worked once. Again the error started appearing.
Commented
Sep 5, 2019 at 7:57
While on the server, check to make sure sshd is actually running, and is listening on port 22:
$ sudo netstat -anp | grep sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1538/sshd
tcp6 0 0 :::22 :::* LISTEN 1538/sshd
If you don't get results, or they don't show you're listening on tcp 0.0.0.0:22... fix that.
If you DO show that sshd is running and is listening on tcp port 22, check to make sure there's no firewall rule getting in the way. Again, on the server:
$ sudo iptables -L | grep ssh
DROP tcp -- anywhere anywhere tcp dpt:ssh
Or alternately,
$ sudo ufw verbose
Status: active
To Action From
-- ------ ----
22 DENY Anywhere
22/tcp DENY Anywhere
If you do see a rule like one of the ones above, you'll need to fix that.
If you don't see any firewall rules in the way and you do see the service running on the server, then it's time to check your workstation, and the network it's connected to. Can you connect to other servers? Can you ping your own interface or loopback address? Etc.
Try this
sudo apt-get remove openssh-client openssh-server
and then
sudo apt-get install openssh-client openssh-server
it worked for me :)
Probably not the most orthodox solution... :)
Came across same problem after installing Raspbian. Solution that worked for me:
sudo apt-get purge openssh-server
sudo apt-get install openssh-server
The following commands worked for me:
cd /root/.ssh
vi known_hosts
Now delete everything in that file and enter on the terminal:
service sshd restart
Source: SSH - Connection Refused
ssh-keygen -f "/home/MYUSER/.ssh/known_hosts" -R MYHOST
, substituting in my linux user and remote host I was trying to connect to
known_hosts
and why does knowing some hosts prevent the machine from connecting?
Commented
Mar 12, 2023 at 16:48
The static IP was wrong in my case. Found out by doing ping <my_ip>
after switching off the server. It was still pinging even when the server was off. Correcting the IP solved the issue.
This might fix it for you as well. Try port forwarding connection 22 from your outgoing IP address to your local IP on the same port. Worked for me allowing me to ssh in to remote ubuntu computer.