道歉,如果这不是问这个问题的正确的地方。
我经常需要ssh到不同的服务器。 现在,从我的家用机器(linux mint),当我通过ssh连接,经过一段时间的不活动之后,我的ssh shell冻结了,无法恢复。 我唯一能做的就是“〜”,至less给了我发起的炮弹。
当我从其他地点login到相同的服务器没有问题。 这可能是我的ISP的问题吗? 我怎样才能进一步调查这一个呢?
这真的很烦人,因为我必须在冻结之后重新build立ssh连接,回到我所在的位置并恢复工作。 谢谢
您的NAT在一段时间不活动后正在丢弃您的TCP套接字。
你的ssh客户端可以有select地向服务器发送周期性的noops,从而消除这个问题。 要做到这一点,添加到你的~/.ssh/config
:
Host * ServerAliveInterval 60
另外,重新configuration您的NAT不会像现在一样快地从状态表中删除项目。
除了上面的内容,你应该为你的会话使用terminal多路复用器,比如GNU Screen或者tmux。 使用这两种方法之一,您可以在断开连接的情况下恢复会话。