我正在尝试使用 SSH
从另一台Linux计算机上的一台Linux计算机上执行远程Shell脚本在大多数情况下,它都可以正常工作,但是我的脚本处于非活动状态的时间超过10分钟,我与远程计算机的连接丢失了。
远程Shell脚本
test.sh
echo "testing"
sleep 3600
echo "done testing"
这就是我叫这个脚本的方式
➜ ~ ssh -o ConnectTimeout=3600 -o BatchMode=yes -o StrictHostKeyChecking=no gaurang.shah@host_name /home/gaurang.shah/test.sh
*******************************************************************************
* *
* Unauthorized use of this system is strictly prohibited *
* *
*******************************************************************************
testing
Connection to host_name closed by remote host.
此参数不能使连接保持3600秒有效吗?
-o ConnectTimeout = 3600
答案 0 :(得分:0)
ConnectTimeout
指定连接到SSH服务器时使用的超时(以秒为单位)
您必须改为设置ServerAliveInterval
。要为所有用户设置它,您必须修改/etc/ssh/ssh_config
(具有root授予)。要仅启用您的用户,请修改~/.ssh/config
Host *
ServerAliveInterval 3600
ServerAliveCountMax 2
如果您可以修改服务器端,则可以通过向/etc/ssh/sshd_config
添加以下内容来使服务器保持与客户端的所有连接:
ClientAliveInterval 3600
ClientAliveCountMax 2