在/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了!