保持 Cygwin SSH 会话处于活动状态

保持 Cygwin SSH 会话处于活动状态

我在使用 Cygwin SSH 客户端从 Windows 机器访问远程 RedHat 服务器时遇到了一些问题。

我所做的是通过从家用 Windows 机器登录,在远程 RedHat 机器上运行一些相当耗时的 QA 脚本。在客户端,我在普通的 Cygwin 控制台窗口中使用 Cygwin SSH。只要我以交互方式工作(即从命令行执行命令),一切都很好。当我启动脚本时,只要脚本在终端上产生任何可见的活动,即只要它在屏幕上打印一些内容,一切都会正常工作。但如果输出中出现明显的停顿,与 RedHat 机器的连接最终会断开,并显示“写入失败:对等方重置连接”消息。

这是某种超时/保持活动问题吗?如果是,我必须配置什么才能阻止这种情况发生?在哪里(服务器端还是客户端)?

答案1

修改超时

配置服务器

打开 /etc/ssh/sshd_config 并找到 ClientAliveInterval 选项(如果不存在,请添加)。该值以秒为单位,因此我选择了 540 秒,即 9 分钟。

ClientAliveInterval 540

配置客户端

编辑 /etc/ssh/ssh_config 并找到 ServerAliveInterval 选项(如果不存在,请添加它)。同样,这个值以秒为单位,因此 9 分钟的间隔是 540 秒。

ServerAliveInterval 540

还,autossh 可以成为你的好朋友

答案2

这很可能是超时;为了防止发生这种情况,您可以使用以下设置~/.ssh/config

ServerAliveInterval <keepalive-interval>

每 <keepalive-interval> 秒发送一个保持活动数据包。

答案3

我确信链接将会很有帮助。

相关内容