1

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

我创建了一个自动化应用程序并让它在 bash 上运行一个 shell 脚本。该脚本如下所示:

sshpass -p 123456 ssh 123456@123.123.123.123

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

有什么办法可以打开与自动化应用程序的连接并保持在后台?

4

2 回答 2

1

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

在您的~/.ssh/config, 和以下内容中:

Host *
    ServerAliveInterval 300
    ServerAliveCountMax 2

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

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

于 2014-10-05T17:38:53.800 回答
0

你真的需要让 Automator 参与进来吗?

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

于 2014-10-05T17:33:43.767 回答