(Open) ssh lê diretamente do tty. Veja:
-
link onde chama readpassphrase.
-
Como o ssh solicita uma senha quando todas as entradas e saídas são redirecionadas?
Eu tentei aleatoriamente executar o seguinte comando no bash 1
cat /some/file | ssh user@machine 'cat >/destination/file
Não há chaves instaladas na máquina remota, portanto, a única maneira de autenticar é com o mecanismo de senha. Eu pensei que isso não funcionaria, já que o tubo desconectará o stdin do SSH do terminal. Fiquei surpreso quando me pediram uma senha e o arquivo foi enviado com sucesso.
Alguma idéia de como o SSH é capaz de ler o teclado para solicitar uma senha, apesar de não estar conectado a ela?
1 Eu sei que existem alternativas melhores para copiar um arquivo entre duas máquinas.
(Open) ssh lê diretamente do tty. Veja:
link onde chama readpassphrase.
Como o ssh solicita uma senha quando todas as entradas e saídas são redirecionadas?
cat /some/file | ssh user@machine 'cat >/destination/file
Isso não funciona, porque ssh
trunca seu stdin
antes de exibir o prompt e ler uma senha (segurança). A solução possível é usar o script expect
, que interage com a execução de ssh
process.