解决 Linux : time out waiting for input: auto-logout问题
问题:
在ssh密钥连接情况下,一定时间不输入,则自动退出。
timed out waiting for input: auto-logout超时等待输入:自动注销
[root@One-IOT-028 ~]<20210412 18:15:10># timed out waiting for input: auto-logout [app@One-IOT-028 ~]<20210412 18:20:10>$ 等待输入超时:自动登出 Connection to 10.12.43.178 closed.
问题排查
ssh超时机制(修改无效)
最开始感觉和ssh检测机制有关系,因此直观的想到/etc/ssh/sshd_config
配置文件有问题。
因此做了如下操作:
#vi /etc/ssh/sshd_config,修改如下参数
vi /etc/ssh/sshd_config
# 启用客户端活动检查,每60秒检查一次,3次不活动断开连接
ClientAliveInterval 60
ClientAliveCountMax 3
# ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0, 不发送。设置60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了。
# ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开。正常情况下, 客户端不会不响应,使用默认值3即可
然后重启SSH服务,service sshd reload
.
然后,并没有解决该问题,该退出还得退出。
$TMOUT 系统环境变量(有效解决)
### 使用echo $TMOUT 命令 查看设置的参数
[root@One-IOT-028 ~]<20210412 18:15:10># echo $TMOUT
300. # 表示为超过300秒没有输入则超时,
### $TMOUT. 如果输出空或0表示不超时,大于0的数字n表示n秒没有收入则超时。此处为300秒。
解决办法
#编辑 /etc/profile
[root@One-IOT-028 ~]<20210412 18:15:10># vi /etc/profile
# export TMOUT=300 #找到这个配置,将 TMOUT的值设置为0即可
export TMOUT=0
## 保存退出
## 让配置生效
[root@One-IOT-028 ~]<20210412 18:15:10># source /etc/profile
referrence
https://blog.csdn.net/wangshuminjava/article/details/80534032
http://bluebiu.com/blog/linux-ssh-session-alive.html
http://bluebiu.com/blog/iterm2-ssh-session-idle.html