GNU/Linux >> Linux の 問題 >  >> Linux

Ssh Inside Sshは「stdin:Is Not A Tty」で失敗しますか?

sshを使用してマシン1に接続してから、sshを使用して別のマシン2に接続しようとしていますが、このエラーが発生します。

ssh [email protected] 'ssh [email protected]'

stdin: is not a tty

なぜですか?

承認された回答:

デフォルトでは、sshを使用してリモートマシンでコマンドを実行すると、TTYはリモートセッションに割り当てられません。これにより、TTYの癖に対処することなく、バイナリデータなどを転送できます。これは、computeroneで実行されるコマンドに提供される環境です。 。

ただし、リモートコマンドなしでsshを実行すると、シェルセッションを実行している可能性が高いため、TTYが割り当てられます。これは、ssh [email protected]によって予期されています コマンドですが、前の説明のため、そのコマンドで使用できるTTYはありません。

computertwoでシェルが必要な場合 、代わりにこれを使用してください。これにより、リモート実行中にTTY割り当てが強制されます:

ssh -t [email protected] 'ssh [email protected]'

これは通常、sshチェーンの最後でシェルまたはその他の対話型プロセスを最終的に実行する場合に適しています。データを転送する場合は、-tを追加することは適切でも必須でもありません。 、ただし、すべてのsshコマンドには、次のようなデータを生成または消費するコマンドが含まれます。

ssh [email protected] 'ssh [email protected] "cat /boot/vmlinuz"'

Linux
  1. Haproxy が rsyslog でログを記録しない

  2. ソックスではなく、ssh 経由の http プロキシ

  3. AES-256-CBC で SSH ペアを生成する

  1. sshpassを使用したLinuxでのSSHパスワードの自動化

  2. Sshpassの複数のコマンド?

  3. Setfaclでサポートされていない操作?

  1. Sshを介したコマンドでTrueを使用しますか?

  2. LinuxでSSHを使い始める

  3. パスワードでSSHログインを無効にする方法