起動時に実行するように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
ベストアンサー1
ああ。愚かな私。この内容はマニュアルに記載されていますが、見逃しています。 - スイッチを追加する必要があります-N
。これは私がrc.localに入れたもので、うまくいきます:
su [username] -c 'autossh -f -N -F /home/[username]/.ssh/config_tunnels -i /home/[username]/.ssh/id_rsa remotehost.com
[username]
もちろん私のユーザー名に交換されました。