
He estado intentando emitir comandos usando plink para recuperar información de mi servidor externo. Tenga en cuenta que estos comandos plink se ejecutan desde un binario que no espera ninguna entrada del usuario. ¿Existe algún indicador que me permita anular este mensaje de error y continuar con la salida del programa?
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n)
¡Gracias!
Respuesta1
Intente anteponer su script con:
echo y | plink -ssh root@REMOTE_IP_HERE "exit"
Esto canalizará al y
personaje stdin
hasta plink
el momento en que obtengas el¿Guardar clave en caché? (t/n)rápido, permitiendo que todos plink
los comandos adicionales pasen sin la necesidad de la intervención del usuario. El exit
comando cerrará la sesión SSH una vez establecida, permitiendo que plink
se ejecuten los siguientes comandos.
Aquí hay un script de ejemplo que escribe la hora Unix del servidor externo en un archivo local:
echo y | plink -ssh root@REMOTE_IP_HERE "exit"
plink -ssh root@REMOTE_IP_HERE "date -t" > remote_time.tmp
Referencia de canalización:http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-4.html
Respuesta2
La respuesta aceptada es "aceptable", pero insegura. La mejor manera sería especificar la clave de host para plink para evitar cualquierHombre en el medioataque.
plink -hostkey aa:bb:cc... root@REMOTE_IP_HERE [...]
Respuesta3
PuTTY
y plink.exe
compartir el mismo caché de 'claves de servidor aceptables' en el host en el que están instalados.
Entonces, si tu escenario esinteractivo(y de ahí que no se escuche su frustración cuando presiona 'y' o 'n'), una solución alternativa es intentar una conexión con PuTTY primero.
Al hacer esto:
- Abrirás
PuTTY
y pretenderás iniciar una sesión SSH interactiva en el servidor. - Aparecerá un cuadro de diálogo de Windows que muestra la clave y le pregunta si desea confiar en ella.
- Verificará la clave presentada, para protegerse de MITM, luego presione
OK
- De ahora en adelante,
plink.exe
no se molestará en preguntar si confía en el servidor o no; ya lo sabe.