ssh的空闲超时断开会话方法及反空闲(保持连接)方法

两种方式:

1.设置TMOUT,在用户家目录下设置只针对本用户,在/etc/profile里设置针对全部

这个是针对所有tty的,所以本地和ssh超时都会退出

注意:大多数的shell客户端工具,如putty,windterm,mobaxterm等里面的保持会话功能,只发送空包,是无法针对TMOUT起作用的

tmout命令只对交互式shell有效,对于非交互式shell(如通过脚本执行的shell),tmout命令不会起作用。

这种设置反空闲,如果无法改变服务器配置,就需要你的客户端工具可以定时发送非空数据包;

如果你只是执行一条命令,则可以使用非交互模式

2.修改ssh配置文件,分为客户端和服务器端

ssh客户端:

/etc/ssh/ssh_config 配置文件中

# Client每隔 60 秒发送一次请求给 Server,然后 Server响应,从而保持连接
ServerAliveInterval 60
# Client发出请求后,服务器端没有响应得次数达到3,就自动断开连接,正常情况下,Server 不会不响应
ServerAliveCountMax 3

 

ssh服务器端:

配置文件:/etc/ssh/sshd_config

# Server 每隔 60 秒发送一次请求给 Client,然后 Client响应,从而保持连接
ClientAliveInterval 60
# Server发出请求后,客户端没有响应得次数达到 10,就自动断开连接,正常情况下,Client不会不响应
ClientAliveCountMax 10

 实测这种方法对登录着的客户端没有什么作用(即空闲很长时间都不会自动退出登录,最后过一天或者几个小时断开,应该只是网络中的防火墙的设置导致),只是对网络问题导致断联的会话有作用,而且ClientAliveCountMax 需要大于0

具体原因没有查到,有可能与内核参数相关,相关文章:

香港云服务器如何保持 SSH 会话不中断? - 八艾云

如何设置Linux系统自动断开连接的时间 (linux设置断开时间)-VAiCDN资讯_高防CDN_免备案CDN_服务器 - VAiCDN

SSH 自动断开连接的问题处理及原因说明 - zhb127's blog

技术|如何关闭一个不活动的或者空闲的 SSH 会话

CentOS Linux SSH 安全基线加固 | Infvie Envoy

第21篇:SSH隧道持久化配置 - 知乎

参考文章:

等保测评:Centos超时退出详解 - FreeBuf网络安全行业门户

Linux使用ssh超时断开连接的真正原因与解决【转】 - 知乎

linux中tmout命令 • Worktile社区

posted @ 2024-05-20 16:46  dirgo  阅读(157)  评论(0编辑  收藏  举报