サーバーへのリバーストンネル接続を確立するには、初期化スクリプトが必要です。私は次のような起動スクリプトを思いついた。
#! /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'SSHを実行する前にautosshがバックグラウンドに移動するようにします。
ここで何が起こっているのでしょうか?
/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でlocalhostを介してログインできません... :o