当前位置: 首页>>技术问答>>正文


为什么我收到“端口22:拒绝连接”错误?

, ,

问题描述

我得到了一个

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1677.html,未经允许,请勿转载。