我尝试将autossh设置为在引导时运行,将其添加到/etc/rc.local,但我甚至无法让它在后台运行。
这是我的配置文件的关键部分:
Host remotehost.com
LocalForward 127.0.0.1:8082 127.0.0.1:8082
LocalForward 127.0.0.1:8000 127.0.0.1:80
LocalForward 127.0.0.1:10001 127.0.0.1:10001
LocalForward 127.0.0.1:12001 127.0.0.1:12001
Port 9922此命令工作如下:
autossh -F /home/[username]/.ssh/config -i /home/[username]/.ssh/id_rsa remotehost.com但是,如果我添加-f选项
autossh -f -F /home/[username]/.ssh/config -i /home/[username]/.ssh/id_rsa remotehost.com不会的。
正如您所看到的,我只使用绝对路径,所以不应该是这个问题。
我的日志是这样写的:
2014/04/22 12:09:07 autossh[4367]: checking for grace period, tries = 0
2014/04/22 12:09:07 autossh[4367]: starting ssh (count 1)
2014/04/22 12:09:07 autossh[4367]: ssh child pid is 4368
2014/04/22 12:09:07 autossh[4367]: check on child 4368
2014/04/22 12:09:07 autossh[4367]: set alarm for 600 secs
2014/04/22 12:09:07 autossh[4368]: execing /usr/bin/ssh
2014/04/22 12:09:07 autossh[4367]: check on child 4368
2014/04/22 12:09:07 autossh[4367]: ssh exited with status 0; autossh exiting
2014/04/22 12:09:07 autossh[4367]: expired child, returning 2发布于 2014-04-22 10:53:20
噢。我真傻。尽管我漏掉了,但手册中也提到了这一点。我应该添加-N-switch。这就是我在rc.local中输入的内容,它起作用了:
su [username] -c 'autossh -f -N -F /home/[username]/.ssh/config_tunnels -i /home/[username]/.ssh/id_rsa remotehost.com当然,[username]是用我的用户名交换的。
https://unix.stackexchange.com/questions/125942
复制相似问题