initでリバーストンネルを起動し、バックグラウンドでautosshを使用します。

initでリバーストンネルを起動し、バックグラウンドでautosshを使用します。

サーバーへのリバーストンネル接続を確立するには、初期化スクリプトが必要です。私は次のような起動スクリプトを思いついた。

#! /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

ベストアンサー1

おすすめ記事