stdinをすべて使用した後でもsshがまだ私のパスワードを読むことができるのはなぜですか?

stdinをすべて使用した後でもsshがまだ私のパスワードを読むことができるのはなぜですか?

たとえば、次のコマンドが機能します。

$ cat some-file | md5sum
8981da1a6a4838c915e333820640d213  -
$ cat some-file | ssh user@host "md5sum"
user@host's password:
8981da1a6a4838c915e333820640d213  -

SSHがユーザーのパスワードを取得できるのはなぜですか?私はそれが標準入力からパスワードを読むと仮定しましたが、明らかにそうではありません。

ベストアンサー1

ttyが答えで、/dev/ttyで読みます。標準出力に加えて、プログラムから標準出力に書き込むこともできます。

おすすめ記事