如何修复 Manjaro Linux 中的 SSH 连接被拒绝错误如何修复 Manjaro Linux 中的 SSH 连接被拒绝错误如何修复 Manjaro Linux 中的 SSH 连接被拒绝错误如何修复 Manjaro Linux 中的 SSH 连接被拒绝错误
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

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

如何修复 Manjaro Linux 中的 SSH 连接被拒绝错误

SSH(“Secure Shell”或“Secure Socket Shell”的缩写)使系统管理员能够在客户端和主机之间建立安全连接。 SSH 用于建立安全连接,无论网络是否安全。使用 SSH 的连接相当棘手,因此需要高度关注。如果您没有涵盖建立连接的所有方面,则在使用 SSH 连接计算机时可能会遇到“连接被拒绝”错误。

在这篇描述性文章中,我们列出了 SSH 中“连接被拒绝”错误的原因及其可能的修复方法。

Manjaro 中“连接被拒绝”错误的可能原因及其解决方案

您在 Manjaro Linux 中遇到连接拒绝错误的可能性有多种。在本节中,我们列出了这些错误以及相关的解决方案。

1 – SSH 服务不活动

您的 SSH 服务可能无法正常工作,导致连接中断。首先,借助下面编写的命令查找 SSH 服务的状态。

$ sudo systemctl status sshd.service

如果服务关闭,建议重新启动并启用 SSH 服务。下面提供的命令将帮助您重新启动、启用和检查 SSH 服务的状态:

$ sudo systemctl restart sshd.service

$ sudo systemctl enable sshd.service

$ sudo systemctl status sshd.service

如果问题仍然存在,您可以联系您的托管提供商来解决问题。

2 – 未安装 SSH

您的系统上可能没有安装 OpenSSH(SSH 工具)。为了确保安装,请借助下面编写的命令检查 OpenSSH 的版本。

$ ssh -V

如果上述命令返回错误(在我们的例子中它返回连接被拒绝),则意味着您的服务器上缺少 OpenSSH 守护进程。要获取它,请执行下面提供的命令:

$ sudo pacman -S openssh

3 – 防火墙阻止 SSH 连接

如果 SSH 服务运行正常,但您仍然无法连接到 SSH 服务器,则防火墙可能阻止了您的 SSH 连接。尽管禁用防火墙规则可能会使您的系统面临安全风险,但您必须允许 SSH 通过防火墙。您可以借助下面提供的命令允许 SSH 通过防火墙。

注意:下面的输出显示已经为 SSH 服务添加了规则。

$ sudo ufw allow ssh

执行此操作后,建议借助下面编写的命令重新加载防火墙。

$ sudo ufw reload

您可以检查防火墙的状态,以下命令显示防火墙允许端口 22 上的连接。

$ sudo ufw status

如果 SSH 服务器正在监听 22 以外的端口,那么您必须提及该端口号。例如,下面编写的命令将允许 SSH 服务器使用您选择的端口号。

$ sudo ufw allow <port-number>/tcp

4 – SSH 正在侦听错误的端口

每当发起连接请求时,都会使用默认端口 SSH(22)。连接被拒绝错误的原因之一是您可能更改了端口,但您正在尝试连接到默认端口。您可以通过访问/etc/ssh/sshd_config文件来检查SSH监听端口。例如,下面提供的命令将过滤(相对于端口)/etc/ssh/sshd_config 的内容。

$ grep -i port /etc/ssh/sshd_config

注意:在我们的例子中,输出显示端口为 22。

此外,如果 SSH 端口从 22 更改,那么连接语法将如下所示。

$ ssh -p <port-number> <user-name>@<IP or hostname of server>

注意:-p 标志用于在所需端口建立连接。据观察,如果 SSH 的默认端口更改为另一个端口,则必须指定该端口号。

5 – SSH 端口已关闭

每当尝试建立连接时,SSH 都会向特定端口发送请求。因此,要成功,需要打开 SSH 端口。由于 SSH 使用端口 22,因此 SSH 必须允许端口 22 上的所有传入连接。首先,使用以下命令检查端口 22 是否打开。

$ sudo lsof -i:22

如果状态为正在侦听(如输出所示),则可以,但如果端口已关闭,则可以使用以下 iptables 命令打开端口 22。

$ sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

您可能使用了错误的凭据,建议查找您要连接的服务器的 IP 地址。

准备好所有东西后,您可以使用下面编写的命令建立 ssh 连接,就像我们所做的那样。

$ ssh adnan@localhost

注意:上述命令中的用户名是“adnan”,而 localhost 充当主机名。

结论

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