如何修复 Debian/Ubuntu 端口 22 拒绝连接的问题如何修复 Debian/Ubuntu 端口 22 拒绝连接的问题如何修复 Debian/Ubuntu 端口 22 拒绝连接的问题如何修复 Debian/Ubuntu 端口 22 拒绝连接的问题
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何修复 Debian/Ubuntu 端口 22 拒绝连接的问题

SSH 提供了访问 Linux 服务器的安全通道。有时我们在连接 SSH 服务器时会遇到错误连接被拒绝。该错误背后可能有多种原因,例如 SSH 服务处于非活动状态、端口被 UFW 防火墙阻止、服务器使用不同的端口或由于某些 IP 冲突。今天,我们将探讨解决 Ubuntu/Debian 系统上的连接被拒绝问题的不同方法。

验证 Linux 系统上的 OpenSSH 安装

首先,检查您的系统上是否安装了 OpenSSH。下面提到的命令将验证它。

sudo apt list --installed | grep openssh-server

如果安装了 OpenSSH,您将在终端上看到以下输出。

如果没有安装 OpenSSH,我们将通过执行以下命令来安装它:

sudo apt install openssh-server

检查 SSH 服务

现在让我们检查一下系统上 SSH 服务的状态。它应该处于活动状态或处于运行状态。您收到连接拒绝错误的原因可能是系统上 SSH 处于非活动状态。运行以下命令检查状态:

sudo service ssh status

输出告诉我们它处于活动状态(运行状态)。

如果您的 SSH 服务处于非活动状态,您可以通过执行以下命令来启动它:

sudo service ssh start
sudo service ssh restart

检查SSH服务器监听端口

也许您连接到了错误的端口,这就是您收到连接被拒绝错误的原因。例如,服务器正在侦听端口 1068 上的连接,但您正在尝试连接到端口 22。

在尝试连接之前,首先验证 SSH 服务器正在使用哪个端口来侦听新连接。如果服务器正在侦听默认端口 22,则可以使用以下命令语法来建立连接:

ssh [username]@[remoteserver IP or hostname]

发出以下命令来检查 OpenSSH 服务器正在侦听哪个端口:

sudo netstat -ltnp | grep sshd

我们可以看到 OpenSSH 使用 22 端口来监听连接。

如果使用其他端口代替 22,您将发出如下命令:

ssh -p [Port] [username]@[ip_address]

在防火墙中允许 SSH

连接被拒绝消息也可能是因为系统上的防火墙阻止了 SSH 端口。要允许端口通过防火墙,请执行以下命令:

sudo ufw allow port /tcp

如果使用 22 以外的端口,您将发出如下命令:

sudo ufw allow 2244/tcp

更新规则后,您将在终端上看到以下输出:

使用以下命令重新加载防火墙以更新规则:

sudo ufw reload

现在检查防火墙的状态以验证 SSH 端口是否已被允许。

sudo ufw status

如果您使用端口 2244 进行 SSH,您将看到以下消息:

解决重复的 IP 地址冲突

可能导致此问题的另一个原因是重复的 IP 地址。因此,我们需要验证系统是否存在重复的地址。为此,我们的系统上需要 arping 实用程序。使用以下命令安装它:

sudo apt install arping

现在,使用以下命令语法 ping 服务器 IP 地址:

ping <ip-address>

如果您收到来自多个 MAC 地址的回复,则意味着系统上正在运行重复的 IP 地址。要解决此问题,请更改 SSH 服务器的 IP。

结论

在今天的指南中,我们讨论了可能导致连接拒绝错误的几个原因以及解决此问题的几种方法。这篇文章肯定会帮助您排除错误。

©2015-2025 艾丽卡 support@alaica.com