【问题标题】:Opening an ssh connection and keeping it open on startup打开 ssh 连接并在启动时保持打开状态
【发布时间】:2014-10-06 01:38:53
【问题描述】:

我需要在登录时打开一个 ssh 连接并保持打开状态,但实际上不要对它做任何事情。最好是全部在后台运行。

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

sshpass -p 123456 ssh 123456@123.123.123.123

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

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

【问题讨论】:

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

标签: macos bash ssh automator sshpass


【解决方案1】:

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

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

Host *
    ServerAliveInterval 300
    ServerAliveCountMax 2

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

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

【讨论】:

    【解决方案2】:

    您真的需要 Automator 参与吗?

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

    【讨论】:

      猜你喜欢
      • 2017-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-23
      • 2015-04-07
      • 1970-01-01
      相关资源
      最近更新 更多