我从 OSX 运行 ssh 到 Ubuntu 机器 - 在家庭 WIFI 下,一切都运行正常。
但是,当我从某些外部网络进行 ssh 时,ssh 可能工作正常一两分钟,然后由于网络不稳定而中断(通过 ping 8.8.8.8 进行诊断)。
我如何设置 ssh 以便它只是等待/暂停而不是放弃(放弃时,我必须从头开始设置我的开发环境 - 很麻烦)。
编辑 当我说连接不良时,我的意思是,例如,ping 8.8.8.8 会在一段时间内正常工作,然后在 40-50 次 ping 中失败,然后再次恢复。
答案1
如果不确定,请务必检查手册页。在这种情况下man ssh
和man ssh_config
。
从man ssh_config
ConnectTimeout
Specifies the timeout (in seconds) used when connecting to the
SSH server, instead of using the default system TCP timeout.
This value is used only when the target is down or really
unreachable, not when it refuses the connection.
您可以将其写入您的 ssh_config 文件或直接将其传递给您的 ssh 命令:
ssh -o ConnectTimeout=$SECS $HOST
答案2
我如何设置 ssh 以便它只是等待/暂停而不是放弃(放弃时,我必须从头开始设置我的开发环境 - 很麻烦)。
增加数据包的 TTL 值并增加连接的超时时间。