我们正在尝试寻找一种好的方法,当用户下班回家后仍保持 SSH 会话连接时,断开与服务器的 SSH 会话。SSHD 超时设置(ClientAliveInterval 300、ClientAliveCountMax 0)不会断开用户连接,因为用户已将 SecureCRT 设置为每 60 秒“发送协议 NO-OP”。因此,ssh 服务器认为会话并非处于空闲状态。
有什么方法可以让 SSH 服务器忽略 NO-OP 命令,或者在没有其他用户输入的情况下让会话超时/结束?
谢谢
答案1
假设用户有 ksh/bash/zsh,您可以在每个用户的配置文件/rc 文件中、/etc/profile 或 /etc/profile.d/autologout.sh 中设置 TMOUT 变量
TMOUT=300
readonly TMOUT
export TMOUT
以上将超时设置为 300 秒。另一个选项是使用 cron 脚本who
并注销空闲会话。查看更多这里。