ssh空闲一段时间自动断开的问题
之前在公司就遇到过这种问题,使用ssh登录linux服务器后,在后台放置一段时间,会发现会自动断开,解决的方法很简单:
/etc/ssh/ 目录下除了ssh_config之外,还有一个sshd_config,二者的区别在于,前者是针对客户端的配置文件,后者是针对服务端的文件
第一种方法:在客户端中的/etc/ssh/ssh_config中去掉注释(可能是添加这两句话)并改成这样:
ServerAliveInterval 60 ServerAliveCountMax 2
60表示每60秒发送一次给服务器,服务器就不会断开了。ServerAliveCountMax 2 表示服务器的请求2次没有响应,就自动断开。
————请注意:我们采用在客户端的修改/etc/ssh/ssh_config的方案。就是以上的第一种方法。
————修改服务器不太可能,站在管理者的角度思考问题,保持长时间连接,耗资源,谁也不同意让开发这样做。
第二种方法:在服务器中的/etc/ssh/sshd_config中去掉原有注释并改成这样:
ClientAliveInterval 60 ClientAliveCountMax 3
ClientAliveInterval 60表示每分钟发送一次, 然后客户端响应, 从而保持长连接. ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到3次, 就自动断开。
第三种方法,使用autossh, 它会在ssh断开后自动再连接上。
目前我用的是这个版本: https://github.com/wufeifei/autossh
第四种方法,使用mosh工具, 参考http://mosh.mit.edu/ 。
据说是神器, 不过我没用上。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示