2016-05-12 4 views
1

psshの-xオプションは、余分なSSHコマンドライン引数を渡すと考えられます。 SSHの "-t"オプションは "Pseudo-terminal"エラーを処理していたはずです。使用すべき別のpssh/sshオプションがありますか? 「-t」と「sudoの」なし「強制的な擬似割り当て」がpsshに変換されない

# pssh -i -H [email protected] -H [email protected] -x "-t -i /tmp/key.pem" 'sudo hostname' 
[1] 13:46:54 [FAILURE] [email protected] Exited with error code 1 
Stderr: Pseudo-terminal will not be allocated because stdin is not a terminal. 
sudo: sorry, you must have a tty to run sudo 
[2] 13:46:54 [FAILURE] [email protected] Exited with error code 1 
Stderr: Pseudo-terminal will not be allocated because stdin is not a terminal. 
sudo: sorry, you must have a tty to run sudo 

、コマンドが正常に動作しますが、私はsudoのよういくつかのコマンドを実行する必要があります。 "-t" オプションが2回指定されるように

# pssh -i -H [email protected] -H [email protected] -x "-i /tmp/key.pem" 'hostname' 
[1] 14:08:35 [SUCCESS] [email protected] 
ip-10-0-0-140 
[2] 14:08:35 [SUCCESS] [email protected] 
ip-10-0-0-139 

答えて

4

は、このような実行中のpsshのを試してみてください:

pssh -i -H [email protected] -x "-t -t -i /tmp/key.pem" 'sudo hostname' 
          ^^^^^ 

ssh man pageが、これは "-t"(強調追加)について述べている:

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

あなたは明らかにsshがローカル端末を持っていないような方法でpsshのを実行しています。したがって、sshを "-t"を2回指定して実行するように手配しなければなりません。これにより、ローカルttyを持っていなくても、sshはリモートttyを要求します。

+0

これはやっかいですが、奇妙なエラーが発生しますが、エラーはpsshの実行に影響しないようです。 – user2569618

関連する問題