求助:Putty在家连接Ubuntu Server 16.04冻结,办公网络正常
嘿,这个问题我太熟悉了!我之前帮朋友排查过几乎一模一样的场景——家用网络下Putty连Ubuntu Server 16.04频繁冻结,办公网却完全正常,大概率是网络MTU(最大传输单元)不匹配或者Putty的某些网络参数和家用路由器冲突导致的。给你几个亲测有效的解决办法:
调整Putty的TCP窗口/MTU设置
打开Putty,在左侧菜单依次进入「Connection」→「SSH」→「Bugs」,勾选「Don't adjust TCP window size」;或者到「Connection」→「TCP」里,把MTU值改成1400(比家用常见的1492小,避免数据包分片失败),保存会话后重新连接试试。在Ubuntu服务器端修改MTU
先通过办公网登录服务器,执行命令查看网卡名称:ip addr(通常是eth0或者ens33之类的),然后修改MTU:sudo ifconfig 你的网卡名 mtu 1400接着重启网络服务:
sudo systemctl restart networking改完后用家用网络测试连接,看还会不会冻结。
关闭Putty的GSSAPI认证
有时候家用网络的DNS或者Kerberos相关认证会干扰SSH连接,打开Putty的「Connection」→「SSH」→「Auth」,取消勾选「Attempt GSSAPI authentication (SSH-2 only)」,再重新连接试试。换个SSH客户端验证
如果Win7上没有自带的SSH,可以装个OpenSSH客户端,用PowerShell或者CMD执行ssh 用户名@服务器IP,看看是不是只有Putty会冻结。如果其他客户端也有问题,那基本可以确定是家用网络的配置问题(比如路由器的防火墙、QoS限制);如果只有Putty有问题,那可能是Putty版本和家用网络的兼容性,试试老一点的稳定版本(比如0.67版本)。
我当时是通过修改Putty的MTU解决的,你可以挨个试试,大概率能搞定!
内容的提问来源于stack exchange,提问作者Hem

