
A、B、C 3 つのサーバーがあります。私がすべきことは、次のコマンドを実行することです。
my_self@A:~$ ssh B "ssh C run_a_script_here"
A、B、CでSSHキーを正しく設定し、SSHパスワードを使用しないと機能します。ただし、SSHパスワードを使用して別のユーザーとしてこのコマンドを実行すると、エラーが発生します。
user_has_passphrase@A:~$ ssh B "ssh C run_a_script_here"
Pseudo-terminal will not be allocated because stdin is not a terminal.
user_has_passphrase@A: Permission denied (publickey).
AとBにuser_has_passphraseのキーチェーンが設定されており、AからBをsshしてから問題なくBでssh Cを使用できます。
パスワードを使用すると、チェーンSSHを実行できるかどうかはわかりません。
どんなアイデアがありますか?
ありがとう、フィリップ
答え1
認証などの対話に確認(擬似)端末を使用する場合sudo
(この場合はパスワードを使用した鍵認証)、マニュアルに応じて次-t
のスイッチを使用できます。ssh
疑似端末割り当てを強制します。
必要に応じて接続できます。
$ ssh -t B "ssh -t C run_a_script_here"