実行するbashスクリプトを使用します
/usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 [email protected]
ただし、bashスクリプトを実行すると、待機します。接続は確立されますが、スクリプトは終了しません。手動で強制終了すると、bashスクリプトは次のように終了するため、SSHプロセスが終了するのを待っているようです。上手。
これを解決する方法はありますか?
PDATE:私はこのスクリプトをcronしました..そしてcronプロセスはゾンビになるものです..実際のスクリプトは問題なく実行されます。申し訳ありませんが、ps-auxfを使用すると次のようになります。
root 597 0.0 0.7 2372 912 ? Ss Jul12 0:00 cron
root 2595 0.0 0.8 2552 1064 ? S 02:09 0:00 \_ CRON
1001 2597 0.0 0.0 0 0 ? Zs 02:09 0:00 \_ [sh] <defunct>
1001 2603 0.0 0.0 0 0 ? Z 02:09 0:00 \_ [cron] <defunct>
そして、私がsshを殺すと、機能しなくなったものが消えます。なぜそれらは機能しなくなるのでしょうか?
autossh (apt-get install autossh)のビットを再実装しようとしているようです。
パスフレーズなしでRSA鍵ペアを作成し、serveradmin @ 34.324.234.23に公開鍵をインストールして、以下を試してください。
autossh -f -N -L8888:127.0.0.1:3306 [email protected]
ターミナルからssh
プロセスを切り離します:
バックグラウンドに送信する
/usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 serveradmin@$34.324.234.23 &
Nohup it
Nohup /usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 serveradmin@$34.324.234.23
$
を削除します。
workstation:~$ /usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 server.Host.com
DSA Host key for IP address '205.205.219.5' not in list of known hosts.
workstation:~$ ps x | grep '\-f'
16170 ? S 0:00 /usr/bin/ssh -f -N -T -L8888:127.0.0.1:3306 server.Host.com
あなたが私のために詳述するとき、それは背景にまっすぐに行きます。ただし、テストサーバーには keypair セットアップがあります。
ローカルサーバーで8888をリッスンしているものはすでにありますか?バックグラウンドですでにインスタンスがありますか?