网站搜索

如何修复 Linux 中的“没有到主机的路由”SSH 错误


SSH 是远程连接 Linux 服务器的最安全方式。使用 SSH 时遇到的常见错误之一是“ssh:连接到主机端口 22:没有到主机的路由”。在这篇简短的文章中,我们将展示如何排除和修复此错误。

这是我们正在讨论的错误的屏幕截图。请注意,该端口不一定是端口 22,具体取决于您在远程主机上的配置。作为一项安全措施,系统管理员可以将 SSH 配置为通过不同的端口进行访问。

出现此错误的原因有多种。第一种情况通常是远程服务器可能已关闭,因此您需要使用 ping 命令检查它是否已启动并正在运行。

ping 192.168.56.100

从 ping 命令结果来看,服务器已启动并正在运行,这就是它接受 ping 的原因。在这种情况下,错误的原因是其他的。

如果您的远程服务器上运行了防火墙服务,则防火墙可能会阻止通过端口 22 进行访问。

因此,您需要物理访问服务器控制台,或者如果它是 VPS,您可以使用任何其他方式,例如 VNC(如果已经设置)或 VPS 服务提供商提供的其他自定义远程服务器访问应用程序。登录并访问命令提示符。

然后使用 firewall-cmd (RHEL/CentOS/Fedora) 或 UFW (Debian/Ubuntu) 打开端口 22 在防火墙中(或您配置用于 SSH 的端口),如下所示。

firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --reload
OR
sudo ufw allow 22/tcp
sudo ufw reload 

现在尝试通过 SSH 再次重新连接到远程服务器。

ssh [email 

现在就是这样!您还会发现以下 SSH 指南很有用:

  1. 如何在 Linux 中更改 SSH 端口
  2. 如何在 Linux 中创建 SSH 隧道或端口转发
  3. 如何在 Linux 中禁用 SSH Root 登录
  4. 在 Linux 中加速 SSH 连接的 4 种方法
  5. 如何在 Linux 中查找所有失败的 SSH 登录尝试

请记住,您可以通过下面的评论表与我们分享您的想法或提出有关此主题的任何问题。