打开ssh连接并在启动时保持打开状态

时间:2014-10-05 15:58:03

标签: macos bash ssh automator sshpass

我需要在登录时打开一个ssh连接并保持打开状态,但是不要用它做任何事情。如果所有这些都能在后台运行,那将是最好的。

我创建了一个automator应用程序并使其在bash上运行shell脚本。该脚本如下所示:

sshpass -p 123456 ssh 123456@123.123.123.123

如果我尝试运行应用程序,我会不断收到错误消息,但是如果我在终端中执行完全相同的脚本,它就可以正常工作。

有什么方法可以用自动机应用程序打开这个连接并保持在后台吗?

2 个答案:

答案 0 :(得分:1)

您可以发送KeepAlive数据包以阻止管道关闭。

~/.ssh/config和以下内容中

Host *
    ServerAliveInterval 300
    ServerAliveCountMax 2

这说的是,每300秒发送一个空(保持活动)数据包并在2次尝试后放弃。

来源:http://patrickmylund.com/blog/how-to-keep-alive-ssh-sessions/

答案 1 :(得分:0)

你真的需要参与Automator吗?

只需将脚本(例如,foo.sh)保存在与脚本同名的文件夹中(即foo.sh)。 将此文件夹放在/ System / Library / StartupItems /中,它将在您启动计算机时运行。