26
2024
11
22:58:14

设置ssh连接超时自动断开

1、修改ssh配置防止ssh超时退出


1.1设置服务器向SSH客户端连接会话发送频率和时间


[root@server~]# vi m/etc/ssh/sshd_config,添加如下两项


# TCPKeepAlive yes:是否向客户端发送 TCP keepalive 消息,默认为开启


ClientAliveInterval 60

ClientAliveCountMax 3


#TCPKeepAlive yes:是否向客户端发送 TCP keepalive 消息,默认为开启


# ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0, 不发送。设置60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了。


# ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开。正常情况下, 客户端不会不响应,使用默认值3即可。这样调整后,即使长时间不操作也不会连接超时中断了。


1.2重新启动SSH服务


[root@server~]# service sshd reload   #server 6.X版本


[root@server~]# systemctl restart sshd  #server 7.X版本


注:如果不生效,请通过修环境变量TMOUT值设置ssh无录入超时退出,ssh配置不需设置。


2、修改环境变量TMOUT值设置ssh超时退出


$TMOUT是linux系统空闲等待时间变量,为空或0表示不超时,大于0的数字n表示n秒没有录入则超时。


2.1修改TMOUT变量方法


[root@server~]# export TMOUT=600  #临时修改,只对当前shel生效,退出后失效


[root@server~]# vim /etc/profile  #修改配置文件永久设置


export TMOUT=600  #设置600秒超时退出,将600修改为0就是设置不超时


readonly TMOUT  #设置为readonly防止用户更改


注意:设置了readonly 之后在当前shell下是无法取消的,需要先将/etc/profile中设置readonly行注释起来或直接删除,logout后重新login 。


2.2让配置立即生效


[root@server~]# source /etc/profile    


2.3查看设置是否生效


[root@server~]# echo $TMOUT


600


注意:部署了MySQL的服务请不要开启此功能。


3、通过ssh连接参设置


[root@clinet~]# ssh -o ServerAliveInterval=30 root@host

————————————————




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/8601.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: