我需要在登录时打开一个ssh连接并保持打开状态,但是不要用它做任何事情。如果所有这些都能在后台运行,那将是最好的。
我创建了一个automator应用程序并使其在bash上运行shell脚本。该脚本如下所示:
sshpass -p 123456 ssh 123456@123.123.123.123
如果我尝试运行应用程序,我会不断收到错误消息,但是如果我在终端中执行完全相同的脚本,它就可以正常工作。
有什么方法可以用自动机应用程序打开这个连接并保持在后台吗?
答案 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 /中,它将在您启动计算机时运行。