Almacenamiento automático de la clave del host del servidor en caché con plink

Almacenamiento automático de la clave del host del servidor en caché con plink

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 ypersonaje stdinhasta plinkel momento en que obtengas el¿Guardar clave en caché? (t/n)rápido, permitiendo que todos plinklos comandos adicionales pasen sin la necesidad de la intervención del usuario. El exitcomando cerrará la sesión SSH una vez establecida, permitiendo que plinkse 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

PuTTYy plink.execompartir 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 PuTTYy 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 presioneOK
  • De ahora en adelante, plink.exeno se molestará en preguntar si confía en el servidor o no; ya lo sabe.

Respuesta4

la auto_store_sshkeyopción existe enklink, que forma parte delGatito, puede omitir el mensaje de la clave de la tienda.

klink -auto_store_sshkey -batch 192.211.158.256 -l user -pw password 

información relacionada