Pregunta Mensaje remoto SSH no redirecciona al archivo local


Estoy intentando conectarme a una máquina con SSH y registrar un mensaje en un archivo. Aquí está mi ejemplo:

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

Recibo la mayoría de los mensajes escritos en el archivo, pero no los que requieren la entrada del usuario. Por ejemplo, cuando se conecta a una máquina la primera vez, el siguiente mensaje no se registra:

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)?

Sé que hay opciones como esta

-o "StrictHostKeyChecking=no"

sin embargo, no quiero deshabilitar esta característica de seguridad. Todavía quiero el aviso. Mi aplicación buscará este mensaje, ofrecerá un botón (sí / no) y luego podrá canalizar el resultado al stdin.

¿Alguna idea de cómo puedo incluir este mensaje en un archivo para leer? Y si no, ¿Pórque no?


0


origen


"Mi aplicación buscará este mensaje"... si estás desarrollando una aplicación, ¿por qué no utilizas una biblioteca? Por ejemplo: Libssh - Attie
ssh se abre explícitamente /dev/tty, luego escribe el mensaje y lee la respuesta de eso. Entonces tu aplicación tendrá que configurar un tty e interactuar con la utilidad ssh a través de eso. Hay diferentes maneras de hacerlo, dependiendo de cómo funciona tu aplicación. - Kenster
Tal vez debería haber mencionado que estoy usando una aplicación js / electron de nodo, y tratando de construir un cliente ssh para él en plataforma cruzada. Las bibliotecas del nodo js que están actualmente disponibles no solicitan a los usuarios en este paso, sino que lo evitan de alguna manera. @Kenster que podría ser el eslabón perdido que estaba buscando, ¡gracias! - Aaron Albrighton


Respuestas: