SSH открывает / dev / tty для чтения и записи, чтобы запросить пароль.
Я предполагаю, что это функция безопасности, вход должен быть от tty, а не от stdin.
Если вы запустите strace ssh <host>
strace, вы увидите системные вызовы, которые выполняет команда.
Я получил:
open("/dev/tty", O_RDWR|O_LARGEFILE) = 4 ... write(4, "dave@host"..., 16dave's password: ) = 16 read(4,