Keep SSH alive when no operation for a period of time
ssh 远程长时间不操作就断开
最近在远程使用 jupyter notebook, 但是 vscode remote 时间一长就会断开,导致 notebook 的输出排版乱或者甚至连接断开,因此找到如下两种方法,一起使用后几乎没有断开过了.
主机定时连服务器
在主机的 ssh 配置中,设置如下来保持连接:
1 | Host SomeRemoteHost |
注意:如果你的主机进入休眠模式,则不起效果.但是当你干别的事情时,它可以在后台保持连接
让服务器定时回连主机
编辑 sshd_config
配置文件
sudo vim /etc/ssh/sshd_config
在其中找到以下配置项目:
1 | #ClientAliveInterval 0 |
去除注释并修改
1 | ClientAliveInterval 60 |
ClientAliveInterval
指定了服务器端向客户端请求消息的时间间隔, 默认是 0
,
不发送. 而 ClientAliveInterval 60
表示每分钟发送一次,
然后客户端响应, 这样就保持长连接了.
ClientAliveCountMax
, 使用默认值 3
即可. ClientAliveCountMax
表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开.
正常情况下, 客户端不会不响应.
macOS 重启 sshd service
1 | sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist |
或者
1 | sudo launchctl stop com.openssh.sshd |