我有 Ubuntu 13.10。
我使用 ssh 连接到大学的远程计算机。当我使用有线连接时,它工作正常,但是当我尝试使用相同命令通过 wifi 连接时,它不起作用并出现此错误:ssh [email protected]
ssh: connect to host ws.hpc.unipg.it port 22: No route to host
我希望有人能帮助我。
答案1
这意味着您的 wifi 无法上网(或者至少无法通过 wifi 访问该主机)。那么,如何诊断呢?您可以使用 ping 和 nmap,但让我告诉您,显然该主机不对外开放:
ping -c2 ws.hpc.unipg.it
PING ws.hpc.unipg.it (141.250.16.254) 56(84) bytes of data.
--- ws.hpc.unipg.it ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1008ms
这里说主机没有回应我的 ping
nmap -p22 ws.hpc.unipg.it
Starting Nmap 6.40 ( http://nmap.org ) at 2013-12-22 11:10 AST
Stats: 0:00:01 elapsed; 0 hosts completed (1 up), 1 undergoing Connect Scan
Connect Scan Timing: About 50.00% done; ETC: 11:10 (0:00:01 remaining)
Nmap scan report for ws.hpc.unipg.it (141.250.16.254)
Host is up (0.19s latency).
rDNS record for 141.250.16.254: gw.hpc.unipg.it
PORT STATE SERVICE
22/tcp filtered ssh
Nmap done: 1 IP address (1 host up) scanned in 2.34 seconds
这里说端口被过滤了(它可能会丢弃我的数据包),因此很可能我无法连接。当我尝试连接时,我的请求会超时。那么,如何解决这个问题呢?请联系系统管理员获取指导。
答案2
需要注意的是,笔记本电脑可能针对每个网络使用不同的 MAC 地址,或者至少针对您自己网络之外的公共网络使用不同的 MAC 地址。您通常可以在每个网络的设置中更改此设置,以使用您的真实 MAC 地址而不是随机 MAC 地址。
这可能很重要,因为您可能会通过远程计算机上的 mac 地址进行验证。从该错误消息中我不确定是否是这种情况,但值得了解。在我的本地 LAN 上,我通过 ssh 进入服务器,并且为其生成的密钥是在有线网络上完成的。现在,我使用无线,并且该密钥不再起作用。我认为这就是原因。
答案3
假设您的 wifi 可以正常工作,这可能意味着 wifi 网络上的 ssh 端口被阻止。或者可能是服务器前面有一个防火墙,无法识别 wifi IP 地址是否有效。
您可能处于某种访客 WiFi 网络上,通过注册另一个 WiFi 网络您可能能够获得更好的访问权限。
答案4
看起来您的 wifi 连接有防火墙阻止了端口 22。
无论如何,使用端口 443 成功的可能性很大。
首先,测试是否可以使用 443 端口通过 ssh 连接
$ ssh -T -p 443 [email protected]
如果您可以连接到 GitHub p 443,则表示 WIFI 防火墙没有阻止端口 443,您应该尝试通过端口 443 连接到您的大学服务器。
$ ssh -p 443 [email protected]
如果这不起作用,则意味着服务器韋斯不支持 443 端口进行 ssh 连接。
在这种情况下,如果你有服务器访问权限, 你应该编辑 ssh 配置以允许端口 443 上的 ssh 连接:
- 编辑文件 sshd_config
nano /etc/ssh/sshd_config
- 取消注释该行
#Port 22
并将其转换为Port 443
。 - 使用以下命令重新启动 ssh 服务
sudo systemctl restart ssh
然后你就可以连接了:)
笔记:
- 如果您无法连接到已知在端口 443 上响应的 github,那么您的 WIFI 防火墙也阻止了端口 443,您需要寻求其他解决方案,例如使用 VPN。
- 如果您无法连接到服务器的端口 443,并且您无法控制,请询问管理员如何连接到端口 443。