当连接断开时是否可以检测 ssh 连接的活动。我通过电话(ssh 客户端)连接到服务器并关闭互联网,但系统(w、netstat)说我仍在服务器上。是否可以立即确定活动或等待超时?
答案1
对于服务器,请参阅man 5 sshd_config
选项ClientAliveInterval
和ClientAliveCountMax
。如果您希望服务器检测连接何时中断,那么您需要在/etc/ssh/sshd_config
服务器计算机上使用这些选项。
供客户查看man 5 ssh_config
,选项ServerAliveInterval
和ServerAliveCountMax
。如果您希望客户端检测连接何时中断,那么您需要在客户端计算机中/etc/ssh/ssh_config
或在~/.ssh/config
客户端计算机上使用这些选项,或者在启动连接时在命令行中使用这些选项 ( ssh -o ServerAliveInterval=… -o ServerAliveCountMax=…
)。
读这是我的另一个答案,它详细阐述并提供了一些有趣的链接。请注意,OP 想要断开空闲用户的连接(即不是ClientAlive*
/机制的工作ServerAlive*
),而您想要检测断开的连接(即确切地机制的工作)。