10分钟后使用ssh超时执行远程脚本

时间:2018-12-13 21:49:52

标签: ssh

我正在尝试使用 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

1 个答案:

答案 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