我需要一个初始化脚本来建立到服务器的反向隧道连接。我想出了以下启动脚本:
#! /bin/sh
### BEGIN INIT INFO
### END INIT INFO
case "$1" in
start)
echo "Starting autossh"
/usr/bin/autossh -M 22222 -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -i /path/to/my.key -R 9999:localhost:22 ubuntu@host
;;
stop)
echo -n "Shutting down autossh"
/usr/bin/killall -KILL autossh
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
它有一个问题:它不会在后台启动该进程,否则它会按预期工作。我尝试使用该-f
标志并将该start)
行更改为,/usr/bin/autossh -f -M 22222
但这似乎不起作用,我想知道为什么。我做错了什么,手册页说
-F'导致 autossh 在运行 ssh 之前下降到后台。
这里发生了什么?
在/var/log/syslog
服务器上,我可以看到:
Nov 3 22:01:10 ip-172-31-33-223 systemd[1]: Started Session 1524 of user ubuntu.
有或没有-f
标志,即客户端确实建立了连接,host
但当标志存在时-f
,它不会让我通过端口 9999 上的本地主机登录.... :o