SSH クライアントオプション "-T" は疑似端末割り当てを無効にします。
このオプションをオンにすると、リモートsshdはリモートコマンドを実行するためにptyを割り当てません。リモートコマンドの出力はどのようにSSHクライアントに送り返されますか?私が知る限り、SSHクライアントとサーバー間の簡単な入出力は次のとおりです。
ssh client <--- (TCP/IP) --> ssh server <---> ptm <---> pts <---> remote command
-Tオプションを使用すると、sshdがリモートコマンドを実行するためにptyペアを生成しないことを意味しますか?
答え1
close pty 割り当てを使用する場合、-T
sshd は双方向 pty の代わりにパイプペアを使用してリモートコマンドを実行するプロセスと通信します。
あなたは見ることができますdo_exec_no_pty()
OpenSSHソースコードの機能(どこにも文書化されていない場合)dropbear
(別のsshd実装)も同様のことをしています。
ptyの場合はい割り当てられた(-t
オプションまたはリモートコマンドなし)は、リモートシステムにのみptyを割り当てます。クライアント ssh はローカルシステムに pty を割り当てません。 ttyの場合は、標準入力でRAWモードを開きます。