设置 SSH 命令行空闲保持会话
楔子
使用 Mac 或 Linux 原生的命令行 ssh user@ip
方式连接 Linux 闲时会自动断开终端卡死。
为解决这个问题,查了到篇博客翻译下关键步骤记录下来。解决方式可以分服务端设置和客户端设置。
客户端设置
在不修改连接的服务端,仅设置客户端的配置,较常用。
#追加闲时超时配置,每隔120秒向服务端发一个心跳包,如果依旧超时,再减小这个值即可 echo "ServerAliveInterval 120" >> ~/.ssh/config
服务端设置
服务端设置的好处是不用为每个客户端分别去设置闲时会话保持时间。缺点是需要重启 sshd 服务。
添加 如下配置到 /etc/ssh/sshd_config
#向客户端发送心跳包间隔,以下是每120秒发一次心跳包,以保持会话存活。 ClientAliveInterval 120 #统计向客户端发送心跳我次数上限,也就是最多发送720次,按此配置是 120s * 720次 = 86400s = 24小时 ClientAliveCountMax 720
保存后重启 sshd 服务
/etc/init.d/ssh restart
总结
当服务端与客户端都处理闲时状态时,如果其中一者配置了闲时会话保持,则会话不会中断。
本文作者:东北小狐狸
本文链接:https://www.cnblogs.com/hellxz/p/how-to-solve-ssh-timeout.html
版权声明:本作品采用自由转载-非商用-非衍生-保持署名 (CC BY-NC-ND 3.0)许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2017-10-08 linux安装navicat全程记录