Você não fez nada de errado, só que a entrada da senha é especial.
ssh
assume que você não deseja que a entrada de senha atrapalhe o que você queria queria transmitir, por isso usa /dev/tty
para o prompt de senha, em vez de stdout
.
Você pode dizer a ssh
para não pedir senhas como esta:
ssh -o BatchMode=yes [email protected]
Ele será simplesmente encerrado, se não houver uma chave ou uma conexão existente que funcione.
No entanto, não acho que haja uma maneira direta de capturar o texto do prompt "password:".