在 CentOS 中设置 SSH 超时,通常分为 客户端超时 和 服务器端超时 两种情况。下面按常见需求详细说明。
这是最常用的方式,防止 SSH 长时间空闲不断开。
编辑配置文件:
sudo vi /etc/ssh/sshd_config
添加或修改以下参数:
ClientAliveInterval 300
ClientAliveCountMax 2
含义说明:
| 参数 | 说明 |
|---|---|
ClientAliveInterval |
服务器每隔多少秒向客户端发送一次保活请求(秒) |
ClientAliveCountMax |
客户端无响应多少次后断开连接 |
✅ 示例解释:
sudo systemctl restart sshd
避免用户登录卡住太久。
LoginGraceTime 60
sudo vi /etc/ssh/ssh_config
添加:
ServerAliveInterval 60
ServerAliveCountMax 3
含义:
✅ 常用于 防止 NAT / 防火墙断开连接
⚠️ 这是 Shell 超时,不是 SSH 超时,但常被误用。
export TMOUT=600
echo "export TMOUT=600" >> /etc/profile
source /etc/profile
✅ 适合 安全合规要求
ClientAliveInterval 300
ClientAliveCountMax 2
ClientAliveInterval 60
ClientAliveCountMax 5
TMOUT=600
sshd -T | grep clientalive
如果你能说明:
我可以帮你给出最合适的一套配置方案。