我得到了
port 22: Connection refused
连接服务器时出错。
我安装了 openssh 客户端和服务器,它们正在运行。但仍然有错误。请帮忙。
答案1
我仔细研究了这个问题并最终得到了合适的答案。
sudo apt-get update
sudo apt-get install openssh-server
sudo ufw allow 22
然后进入raspi-config
终端窗口并启用 ssh。
这将允许端口 22 用于 sshd。
答案2
在服务器上,检查以确保 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 您自己的接口或环回地址吗?等等。
答案3
尝试这个
sudo apt-get remove openssh-client openssh-server
进而
sudo apt-get install openssh-client openssh-server
它对我有用:)
可能不是最正统解决方案... :)