更新时间:2024-05-23 GMT+08:00
VS Code连接后长时间未操作,连接自动断开
问题现象
VS Code SSH连接后,长时间未操作,窗口未关闭,再次使用发现VS Code在重连环境,无弹窗报错。左下角显示如下图:
查看VS Code Remote-SSH日志发现,连接在大约2小时后断开了:
原因分析
用户SSH交互操作停止后一段时间,防火墙对空闲链接进行了断开操作,SSH默认配置中不存在超时主动断连的动作,但是防火墙会关闭超时空闲连接(参考:http://bluebiu.com/blog/linux-ssh-session-alive.html),后台的实例运行是一直稳定的,重连即可再次连上。
解决方法
如果想保持长时间连接不断开,可以通过配置SSH定期发送通信消息,避免防火墙认为链路空闲而关闭。
- 客户端配置(用户可根据需要自行配置,不配置默认是不给服务端发心跳包),如图1,图2所示。
配置信息示例如下:
Host ModelArts-xx …… ServerAliveInterval 3600 # 增加这个配置,单位是秒,每1h向服务端主动发个包 ServerAliveCountMax 3 # 增加这个配置,3次发包均无响应会断开连接
比如防火墙配置是2小时空闲就关闭连接,那我们客户端配置ServerAliveInterval小于2小时(比如1小时),就可以避免防火墙将连接断开。
- 服务器端配置(Notebook当前已经配置,24h应该是长于防火墙的断连时间配置,该配置无需用户手工修改,写在这里仅是帮助理解ssh配置原理)配置文件路径:/home/ma-user/.ssh/etc/sshd_config
每24h向client端主动发个包,3次发包均无响应会断开连接
参考:https://unix.stackexchange.com/questions/3026/what-do-options-serveraliveinterval-and-clientaliveinterval-in-sshd-config-d
- 对于业务有影响的需要进行长链接保持的场景,尽量将日志写在单独的日志文件中,将脚本后台运行,例如:
nohup train.sh > output.log 2>&1 & tail -f output.log
父主题: VS Code连接开发环境失败常见问题
VS Code连接开发环境失败常见问题 所有常见问题
- 在ModelArts控制台界面上单击VS Code接入并在新界面单击打开,未弹出VS Code窗口
- 在ModelArts控制台界面上单击VS Code接入并在新界面单击打开,VS Code打开后未进行远程连接
- VS Code连接开发环境失败时,请先进行基础问题排查
- 远程连接出现弹窗报错:Could not establish connection to xxx
- 连接远端开发环境时,一直处于"Setting up SSH Host xxx: Downloading VS Code Server locally"超过10分钟以上,如何解决?
- 连接远端开发环境时,一直处于"Setting up SSH Host xxx: Copying VS Code Server to host with scp"超过10分钟以上,如何解决?
- 连接远端开发环境时,一直处于"ModelArts Remote Connect: Connecting to instance xxx..."超过10分钟以上,如何解决?
- 远程连接处于retry状态如何解决?
- 报错“The VS Code Server failed to start”如何解决?
- 报错“Permissions for 'x:/xxx.pem' are too open”如何解决?
- 报错“Bad owner or permissions on C:\Users\Administrator/.ssh/config”或“Connection permission denied (publickey)”如何解决?
- 报错“ssh: connect to host xxx.pem port xxxxx: Connection refused”如何解决?
- 报错"ssh: connect to host ModelArts-xxx port xxx: Connection timed out"如何解决?
- 报错“Load key "C:/Users/xx/test1/xxx.pem": invalid format”如何解决?
- 报错“An SSH installation couldn't be found”或者“Could not establish connection to instance xxx: 'ssh' ...”如何解决?
- 报错“no such identity: C:/Users/xx /test.pem: No such file or directory”如何解决?
- 报错“Host key verification failed.'或者'Port forwarding is disabled.”如何解决?
- 报错“Failed to install the VS Code Server.”或“tar: Error is not recoverable: exitng now.”如何解决?
- VS Code连接远端Notebook时报错如“XHR failed”
- VS Code连接后长时间未操作,连接自动断开
- VS Code自动升级后,导致远程连接时间过长
- 使用SSH连接,报错“Connection reset”如何解决?
- 使用MobaXterm工具SSH连接Notebook后,经常断开或卡顿,如何解决?
more