如何修复 Debian/Ubuntu 端口 22 拒绝连接的问题
SSH 提供了访问 Linux 服务器的安全通道。有时我们在连接 SSH 服务器时会遇到错误连接被拒绝。该错误背后可能有多种原因,例如 SSH 服务处于非活动状态、端口被 UFW 防火墙阻止、服务器使用不同的端口或由于某些 IP 冲突。今天,我们将探讨解决 Ubuntu/Debian 系统上的连接被拒绝问题的不同方法。
验证 Linux 系统上的 OpenSSH 安装
首先,检查您的系统上是否安装了 OpenSSH。下面提到的命令将验证它。
如果安装了 OpenSSH,您将在终端上看到以下输出。
如果没有安装 OpenSSH,我们将通过执行以下命令来安装它:
检查 SSH 服务
现在让我们检查一下系统上 SSH 服务的状态。它应该处于活动状态或处于运行状态。您收到连接拒绝错误的原因可能是系统上 SSH 处于非活动状态。运行以下命令检查状态:
输出告诉我们它处于活动状态(运行状态)。
如果您的 SSH 服务处于非活动状态,您可以通过执行以下命令来启动它:
检查SSH服务器监听端口
也许您连接到了错误的端口,这就是您收到连接被拒绝错误的原因。例如,服务器正在侦听端口 1068 上的连接,但您正在尝试连接到端口 22。
在尝试连接之前,首先验证 SSH 服务器正在使用哪个端口来侦听新连接。如果服务器正在侦听默认端口 22,则可以使用以下命令语法来建立连接:
发出以下命令来检查 OpenSSH 服务器正在侦听哪个端口:
我们可以看到 OpenSSH 使用 22 端口来监听连接。
如果使用其他端口代替 22,您将发出如下命令:
在防火墙中允许 SSH
连接被拒绝消息也可能是因为系统上的防火墙阻止了 SSH 端口。要允许端口通过防火墙,请执行以下命令:
如果使用 22 以外的端口,您将发出如下命令:
更新规则后,您将在终端上看到以下输出:
使用以下命令重新加载防火墙以更新规则:
现在检查防火墙的状态以验证 SSH 端口是否已被允许。
如果您使用端口 2244 进行 SSH,您将看到以下消息:
解决重复的 IP 地址冲突
可能导致此问题的另一个原因是重复的 IP 地址。因此,我们需要验证系统是否存在重复的地址。为此,我们的系统上需要 arping 实用程序。使用以下命令安装它:
现在,使用以下命令语法 ping 服务器 IP 地址:
如果您收到来自多个 MAC 地址的回复,则意味着系统上正在运行重复的 IP 地址。要解决此问题,请更改 SSH 服务器的 IP。
结论
在今天的指南中,我们讨论了可能导致连接拒绝错误的几个原因以及解决此问题的几种方法。这篇文章肯定会帮助您排除错误。