ssh
次のように&を使用してリモートシステムでポートを開こうとしますnetcat
。
ssh [email protected] 'netcat -l 7777 &'
しかし、ディスプレイ出力を待ってバックグラウンドに入ることはありません!
私はnohup
これを以前に試しましたが、netcat
同じ結果を得ました。
netcat
SSHを使用してリモートシステムでバックグラウンドで実行するにはどうすればよいですか?
答え1
答え2
公式バージョンは、他の回答で述べたように、すべてのシェル魔法なしで完全な接続を背景にする-f
switch toを使用することです。ssh
-f
コマンドが実行される前にSSHにバックグラウンドに入るように要求します。これはsshにパスワードやパスフレーズが必要ですが、ユーザーがそれをバックグラウンドで実行したい場合に便利です。これは -n を意味します。リモートサイトでX11プログラムを起動するための推奨方法は、ssh -f host xtermなどのコマンドを使用することです。
ExitOnForwardFailure 設定オプションが「yes」に設定されている場合、-f で始まるクライアントは、すべてのリモートポート転送がバックグラウンドに配置される前に正常に設定されるのを待ちます。