祝你今天一切顺利!
几个月前我开始使用 Linux,对 Linux 和网络还比较陌生。
我正在使用 Ubuntu 20.04 2.0 LTS,几周前在我的一个朋友身上安装了 kubuntu。
我最近使用的是 20.04,但决定升级到 2.0。在升级发行版之前,我的 SSH 运行正常,但现在无法再连接。
以前我可以用 SSH 从手机连接到笔记本电脑,但现在不行了。我也无法使用 SSH 从笔记本电脑连接到其他设备。我的朋友和我希望我使用 SSH 进入他的服务器,但当我尝试连接到他时,我收到以下输出:ssh:连接到主机端口 22:没有到主机的路由
收到上述错误后,我尝试 ping 他的网络以确保其正常工作,并在 ping 后收到以下信息:目标主机不可达
这个问题出在我这边吗?还是他需要做些配置?
任何援助将不胜感激!
感谢您的时间!
答案1
您遇到了连接问题,这就是为什么您会收到“目标主机无法访问”的消息。此外,“无主机路由”消息也指向同一个问题,即您的互联网连接。ping google.com 或 8.8.8.8 以确保您的连接正常,如果可以,那么您可以检查您朋友的 IP 地址是否正常,或者他的设备的端口 22 是否允许 ssh 连接。这是我所知道的一点点,希望它有助于找到解决方案
答案2
No route to host
是新 ssh 用户常见的网络错误。
简化:测试你的 ssh 客户端是否可以连接到服务器在同一本地网络上。这是您测试 ssh 服务器是否正常工作的方法,也是您最好地解决登录、密码和密钥问题的方法。
一旦可以连接到 LAN,停止对服务器进行更改!此后的所有联网操作均在客户端或路由器上完成。不要损坏您的服务器。
测试你的远程 ssh客户已连接。您应该能够 ping 互联网上已知的工作服务器。(例如
ping -c4 8.8.8.8
:)。大多数业余和家庭本地网络都使用路由器连接到更广泛的互联网。
- 示例 LAN IP 192.168.1.5( 的输出
ip addr
) - 示例 WAN IP 205.123.456.789(Web 浏览器:https://whatismyip.host/)
WAN IP 实际上是路由器IP地址。
测试你的远程 ssh 客户端是否可以 ping 通 ssh 服务器的路由器。由于 ssh 服务器位于路由器后面,因此您无法直接 ping 该服务器。
- 示例 LAN IP 192.168.1.5( 的输出
设置转发端口在服务器的路由器。这需要登录路由器并更改其设置。端口 22(或您选择的任何端口)上的入站 ssh 数据包必须是转发到服务器的 LAN IP 地址。不要更改客户的路由器。
在您的远程 ssh 客户端上,使用 WAN IP 地址而不是 LAN IP 地址进行连接:
ssh -p 22 [email protected]
家庭 WAN IP 地址发生变化。如果您仍然收到
no route to host
,请仔细检查您的 ssh 服务器的 LAN 和 WAN IP 地址。有些 ISP 会阻止端口 22。请尝试使用其他端口。请记住更改路由器,不在服务器上。