g感謝 王樹民
問題:
在ssh密鑰連接情況下,一定時間不輸入,則自動退出。
$timed out waiting for input: auto-logout超時等待輸入:自動注銷
一開始感覺和ssh檢測機制有關系,
1、ssh超時
設置服務器向SSH客戶端連接會話發送頻率和時間.
#vi /etc/ssh/sshd_config,添加如下兩行
# 啟用客戶端活動檢查,每60秒檢查一次,3次不活動斷開連接
ClientAliveInterval 60
ClientAliveCountMax 3
# ClientAliveInterval指定了服務器端向客戶端請求消息的時間間隔, 默認是0, 不發送。設置60表示每分鍾發送一次, 然后客戶端響應, 這樣就保持長連接了。
# ClientAliveCountMax表示服務器發出請求后客戶端沒有響應的次數達到一定值, 就自動斷開。正常情況下, 客戶端不會不響應,使用默認值3即可。
重新啟動SSH服務
#service sshd reload
####################################################################
然而,並沒有什么變化,感覺和配置文件參數有關。想到環境變量。
1、$TMOUT 系統環境變量
# 用以下命令判斷是否是否設置了該參數
echo $TMOUT
[iyunv@xxx ~]# echo $TMOUT
100
[iyunv@xxx ~]#
# 如果輸出空或0表示不超時,大於0的數字n表示n秒沒有收入則超時。此時則是100秒。
# 修改方法
vi /etc/profile
(當然也可以在其它配置文件配置,涉及到環境變量配置文件讀取優先級的問題)
# ----------------------------
export TMOUT=600
# ----------------------------
# 將以上600修改為0就是設置不超時
source /etc/profile
# 讓配置立即生效
問題解決!
####################################################################
問題總結:
1、問題並不難,只是由於配置了密鑰認證,出現了此問題,一時沒直接想到要害。
2、修改過程注意先文件進行備份再修改。
3、環境變量配置文件不要輕易修改,除非很熟練。