如何修复 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 root@192.168.56.100
现在就这样了!您还会发现以下 SSH 指南很有用:
- 如何在 Linux 中更改 SSH 端口
- 如何在 Linux 中创建 SSH 隧道或端口转发
- 如何在 Linux 中禁用 SSH Root 登录
- 加速 Linux 中 SSH 连接的 4 种方法
- 如何在 Linux 中查找所有失败的 SSH 登录尝试
请记住,您可以通过下面的评论表与我们分享您的想法或提出有关此主题的任何问题。