我的目标是增加服务器上的 ssh 连接超时,我的服务器权限有限。我什至没有权限读取/etc/ssh/sshd_config
(也没有追加/写入),并且我没有sudo
.
在我的电脑本地,我已经这样做了~/.ssh/config
:
Host *
ServerAliveInterval 300
ServerAliveCountMax 2
然而,即使在重新加载我的本地 ssh 守护程序 ( sudo systemctl reload sshd
) 之后,我的连接也会比预期更快地中断。
我的问题是:是否有一种不同的方式告诉我的服务器保持连接处于活动状态,与使用 进行修改的标准全局解决方案/etc/ssh/sshd_config
不同ClientAliveInterval X
?
答案1
您需要确定需要多长时间才能完成闲置的会话超时。 (如果您在不空闲的会话中遇到超时,那么我们正在寻找错误类型的解决方案。)
例如,如果是一分钟,则将 Keepalive 设置为该值的一半,即 30 秒。
我建议您不要更改默认设置 ( Host *
),而是为目标主机创建一个特定条目以及您可能用来连接到它的所有可能的别名。如果您还有默认设置 ( Host *
),例如您设置默认目标用户名,请确保此特定条目列在默认条目之前。
Host myServer myServerAlias myServer.my.domain 10.11.12.13
ServerAliveInterval 30
花时间尝试确定超时时间并将其减半是值得的,因为盲目地每 30 秒发送一次 keepalive 是一种浪费。