2017-02-12 9 views
2

sudoを実行するには、ttyを強制する必要がありますが、-t -tと言う場合を除き、バックグラウンドで割り当てることはできません。違いが何であるか説明できますか?上記失敗セキュアトンネルをTTYとしてバックグラウンドで割り当てます

#fails 
ssh -t host1 'sudo command' & 
ssh -t host2 'sudo command' & 
wait 

はと

#works 
ssh -t -t host1 'sudo command' & 
ssh -t -t host2 'sudo command' & 
wait 

作品 "TTYを実行する必要がありますあなたと失敗しますか"?それはtty内のttyを意味しますか?

答えて

0

sshのマニュアルページがあることを説明します。

-t フォース疑似端末の割り当て。これは、リモートマシン上で任意のスクリーンベースのプログラムを実行するために使用できます。メニューサービスを実装するとき複数の-tオプションは、sshにローカルttyがない場合でも、ttyの割り当てを強制します。

あなたがバックグラウンドでコマンドを実行すると、ローカルのttyコマンドに添付ままではないでしょう、したがって、それは、単一の-tとリモート割り当てられていません。一方、2つを使用すると、最終的に割り当てが強制されます。

+0

したがって、すべてのレイヤの子プロセスまたはバックグラウンドプロセスに対して、追加の '-t'リクエストが必要ですか?背景+バックグラウンドは '-ttt'を必要としますか? – rupert160

+0

番号。ちょうど2つ( '-tt')は割り当てを強制します。 – Jakuje

関連する問題