在/etc/ssh/ssh_config文件中修改: ConnectTimeout 300 //即为5分钟 如果用户登录不成功,在断开连接之前服务器需要等待的时间(以秒为单位): LoginGraceTime 300
改完要重启ssh服务: service ssh restart # Ubuntu service sshd restart # Redhat
网上的答案是这样的,但是我试了一下,好像ConnectTimeout只能使本机的bash断开,而远程的连接却没有断开。所以,我试用了别的办法:
#vim /etc/profile
export TMOUT=300
若300秒内无输入,则退出当前bash 这个可以?
我试了一下,远程和本机bash均退出了(偶使用的是vmware虚拟机做的)。暂时定为这个胜出吧!
但是这个是在客户端无发送请求包保持连接的情况下,若强制在服务器断开连接呢?得到这样的答案:
写个脚本 到2个小时就kill掉
弄脚本 干掉.....
#fuser -k /dev/pts/*
#pkill -kill -t pts/*
这两个应该都可以 干掉所有连接
但是我试过都没成功,而且我也没理解这命令的含义,所以我就用我自己麻烦的办法kill了一下:
kill -9 `ps aux | grep ssh |grep @ |awk '{print $2}'`
在我这里能用成。
写的还不够完整和深入,希望懂得朋友能给个启发,就不胜感激了。
另外,Xshell工具连接的:
服务器默认就是会断开的,但是连接工具会设置 发送活动状态;
在属性-连接-保持活动状态中,将会话期间保持活动状态前面框里,去掉这个勾选,就ok了!