[ssh] エラー「Pseudo-terminal will not be allocated because stdin is not a terminal」が出るときに行う事

カテゴリ: Linux | タグ:

sshコマンドは、オプションの後にコマンドを指定することでsshの接続先に対して指定したコマンドやシェルスクリプトを実行できます。

ですが、呼び出したシェルスクリプト内で、さらにsshコマンドを実行すると下記のエラーが出力されます。

"Pseudo-terminal will not be allocated because stdin is not a terminal"

このエラー回避したい場合は、sshコマンドの実行時に"-t" オプションを使用するとよいです。

sshでコマンドを実行するために疑似端末(Pseudo-terminal)が必要なのですが、SSHで接続した先で実行したコマンドから、さらに別のSSH接続を行うと、2回目のSSH接続時にPseudo-terminalが用意されないのが原因です。-tオプションをつけることで、この問題が回避できます。

こちらもおススメ

One thought on “[ssh] エラー「Pseudo-terminal will not be allocated because stdin is not a terminal」が出るときに行う事

  1. お世話になります。
    Win10 Surface Pr4にCygwin64を入れて接続を試みていますが、-t をつけても繋がりません。

    どうしたら良いでしょうか?
    MacBook Terminalからは、繋がります。
    よろしくお願いします。

ヒット にコメントする コメントをキャンセル

メールアドレスが公開されることはありません。