gpt4 book ai didi

unix - ssh中的ConnectTimeout和ServerAliveInterval有什么区别

转载 作者:行者123 更新时间:2023-12-02 13:56:39 26 4
gpt4 key购买 nike

我正在数台远程服务器上执行ssh,其中一些服务器没有响应,其中一些可能已关闭。

为了避免此类情况,我在ssh命令中使用了ConnectTimeout。按我配置的时间到了。

我目前做的ssh的方式

ssh -o LogLevel=Error -oConnectTimeout=5 -oBatchMode=yes -l becomeaccount servername './command.sh'

一切都进展顺利,直到有一天,当我在我的一台服务器上发现旧的ssh连接时。开启超过3天。

所以现在我想我可能已经错过了一些东西,我尝试在Google上搜索它,发现有一种叫做 ServerAliveInterval的东西...可以解决我的问题吗?与 ConnectTimeOut有何不同?

最佳答案

“ServerAliveInterval”指定SSH服务器与客户端之间的定期轮询时间。目的是双重的:

(1)关闭空闲的ssh session
[a]一侧或另一侧严重崩溃(即:机器故障/关机)
[b]一侧或另一侧更改IP地址

(2)通过NAT维护空闲的ssh session ,这将破坏(或终止)空闲的TCP session

ServerAliveInterval影响“ssh”客户端。 “sshd”服务器有一个相应的参数。 (还有一个TCPKeepAlive选项。)如果在远程服务器上看到孤立的sshd session ,则应考虑在远程服务器的sshd_config中进行适当的更改。如果您无法在远程服务器的sshd_config中实现更改,但仍然需要使空闲登录失效,请检查您的 shell 是否具有空闲超时(“bash”具有)。

关于unix - ssh中的ConnectTimeout和ServerAliveInterval有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29210700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com