我正在收到一个
连接服务器时出现错误。
我已经安装了openssh客户端和服务器,并且它们正在运行。但是仍然出现错误。请帮忙解决。
port 22: Connection refused
连接服务器时出现错误。
我已经安装了openssh客户端和服务器,并且它们正在运行。但是仍然出现错误。请帮忙解决。
port 22: Connection refused
sudo apt-get update
sudo apt-get install openssh-server
sudo ufw allow 22
raspi-config
并启用ssh。sudo ufw allow 22
之前成功执行过一次,但是现在又出现了错误提示。 - vineeshvs$ 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
$ 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 ufw allow 22
(或者您的端口号) - John D试试这个
sudo apt-get remove openssh-client openssh-server
然后
sudo apt-get install openssh-client openssh-server
对我来说,这个方法有效 :)
可能不是最传统的解决方案... :)
sudo apt-get purge openssh-server
sudo apt-get install openssh-server
ssh-keygen -f "/home/MYUSER/.ssh/known_hosts" -R MYHOST
清除了我的known_hosts文件,将其中的MYUSER替换为我的Linux用户,将MYHOST替换为我尝试连接的远程主机。 - Chrisknown_hosts
是一个存储已知主机的文件,它用于验证与远程主机的连接。当你尝试连接到一个远程主机时,系统会检查known_hosts
文件中是否存在该主机的指纹。如果指纹匹配,则连接被视为安全的,并且可以继续进行。然而,如果指纹不匹配,系统会发出警告并阻止连接,以防止潜在的安全风险。因此,了解一些主机的指纹可以帮助防止机器连接到未经验证的或可能存在风险的主机。 - Yan King Yinping <my_ip>
这个命令发现问题所在。即使服务器已关闭,仍然可以收到ping的响应。修改了IP地址后问题得以解决。