防止ssh登录后闲置时间过长而断开连接

作者: nick 分类: linux 发布时间: 2010-07-30 06:27 ė 6防止ssh登录后闲置时间过长而断开连接已关闭评论

因为工作环境就是在linux下,需要登录到服务器上,而当键盘、鼠标闲置时间过长的时候往往会被服务器给自动断开,前面做的一些事情就被打断了,这样就很麻烦,所以得想办法来防止被服务器给踢出来。

一种方法是修改服务器段,在/etc/ssh/sshd_config里配置ClientAliveCountMax,以分为单位,默认是3分钟,即闲置3分钟就会被自动断开,可以修改时间长一点,比如30分钟:
ClientAliveCountMax=30

另一种方法比较通用,原理就是模拟键盘动作,在闲置时间之内模拟地给个键盘响应,如下:
工具:expect
代码如下:

#!/usr/bin/expect

set timeout 60
spawn ssh user@host   interact {
        timeout 300 {send "\x20"}

}

保存为文本文件xxx,然后用expect执行:
expect xxx
接着按提示输入密码就可以了,这样每隔300秒就会自动打一个空格(\x20),具体的时间间隔可以根据具体情况设置。
用这个还能解决乱码问题,比如服务器是用GB18030编码的,那只要把
spawn ssh user@host
换成
spawn luit -encoding GB18030 ssh user@host
其他的还有包括自动登录什么的,感兴趣的可以自己研究一下。

另外,如果是在windows下,则secureCRT就自带了反空闲的功能,打开选项->会话选项->终端,如图:

在发送字串的地方打个空格就可以了。

本文出自 传播、沟通、分享,转载时请注明出处及相应链接。

本文永久链接: https://www.nickdd.cn/?p=909

Ɣ回顶部