问题描述
我得到了一个
port 22: Connection refused
连接到服务器时出错。
我安装了openssh客户端和服务器,并且它们正在运行。但仍有错误。请帮忙。
最佳解决方法
我经历了这个问题,最后得到了适当的答案。
sudo apt-get update
sudo apt-get install openssh-server
sudo ufw allow 22
然后在终端窗口中进入raspi-config
并启用ssh。
这将允许端口22用于sshd。
次佳解决方法
在服务器上,检查以确保sshd实际上正在运行,并正在侦听端口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
如果你没有得到结果,或者他们没有显示你正在听tcp 0.0.0.0:22 …修复它。
如果您确实显示sshd正在运行并正在侦听tcp端口22,请检查以确保没有防火墙规则妨碍。再次,在服务器上:
$ sudo iptables -L | grep ssh
DROP tcp -- anywhere anywhere tcp dpt:ssh
或者,或者,
$ sudo ufw verbose
Status: active
To Action From
-- ------ ----
22 DENY Anywhere
22/tcp DENY Anywhere
如果您确实看到类似上述规则之一的规则,则需要解决此问题。
如果您没有看到任何防火墙规则,并且您确实看到服务器上正在运行该服务,则应该检查您的工作站及其连接的网络。你能连接其他服务器吗?你能ping自己的接口或环回地址吗?等等。
第三种解决方法
试试这个
sudo apt-get remove openssh-client openssh-server
然后
sudo apt-get install openssh-client openssh-server
它对我有用:)
可能不是最正统的解决方案…… 🙂
第四种方法
安装Raspbian后遇到同样的问题。解决方案对我有用:
sudo apt-get purge openssh-server
sudo apt-get install openssh-server