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

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

我得到了

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

它对我有用:)

可能不是最正统解决方案... :)

答案4

以下命令对我有用:

cd /root/.ssh
vi known_hosts

现在删除该文件中的所有内容并在终端上输入:

service sshd restart

来源:SSH-连接被拒绝

相关内容