Questão Mensagem remota do SSH não está redirecionando para o arquivo local


Estou tentando se conectar a uma máquina com SSH e registrar uma mensagem em um arquivo. Aqui está o meu exemplo:

ssh -i .ssh/mykey ubuntu@blah.blah.blah > ~/log.txt 2> ~/err.txt

Estou recebendo a maioria das mensagens escritas no arquivo, mas não aquelas que exigem entrada do usuário. Por exemplo, ao se conectar a uma máquina pela primeira vez, a seguinte mensagem não é registrada:

The authenticity of host 'blah.blah.blah (10.10.10.10)' can't be established.
RSA key fingerprint is 
a4:d9:a4:d9:a4:d9a4:d9:a4:d9a4:d9a4:d9a4:d9a4:d9a4:d9.
Are you sure you want to continue connecting (yes/no)?

Eu sei que existem opções como esta

-o "StrictHostKeyChecking=no"

no entanto, não quero desativar esse recurso de segurança. Eu ainda quero o prompt. Meu aplicativo procurará essa mensagem, oferecerá um botão (sim / não) e poderá enviar o resultado para o stdin.

Alguma idéia de como eu posso colocar essa mensagem em um arquivo para leitura? E se não, por que não?


0


origem


"Meu aplicativo procurará por esta mensagem"... se você está desenvolvendo um aplicativo, por que não usar uma biblioteca? Por exemplo: libssh - Attie
o ssh abre explicitamente /dev/tty, em seguida, grava a mensagem e lê a resposta disso. Então, seu aplicativo terá que configurar um tty e interagir com o utilitário ssh através disso. Existem diferentes maneiras de fazer isso, dependendo de como seu aplicativo funciona. - Kenster
Talvez eu devesse ter mencionado que estou usando um nó js / electron app, e tentando construir um cliente ssh para ele cross-platform. As bibliotecas do nó js que estão atualmente disponíveis não avisam os usuários nesta etapa, em vez disso ignoram isso de alguma forma. @ Kenster que pode ser o elo perdido que eu procurava, obrigado! - Aaron Albrighton


Respostas: