Usando PuTTYs plink Command para automatizar acciones SSH en Windows

Resumen

SSH es un método seguro y conveniente para automatizar scripts en servidores remotos. En máquinas UNIX y Linux, la configuración de SSH es casi trivial; sin embargo, en Windows es más desafiante. El comando «plink» de PuTTY puede ser usado para automatizar acciones SSH en Windows. «plink» tiene algunos requisitos específicos de inicialización en las máquinas Windows para que se pueda utilizar desde la interfaz de script DPX. Este artículo cubre cómo utilizar el comando «plink» de Windows, que está incluido en el conjunto de utilidades PuTTY. No pretende ser una revisión exhaustiva del uso de «plink». Cubre específicamente cómo habilitar las claves de host requeridas para su uso con el motor de scripts DPX. «

Paso a paso

PuTTY es un cliente SSH de terceros disponible gratuitamente para plataformas Windows. En el momento de escribir este artículo, PuTTY está disponible en: www.chiark.greenend.org.uk/~sgtatham/putty/

Catalogic Software no proporciona soporte técnico para los ejecutables de terceros. El uso de ejecutables de terceros es bajo su propio riesgo.

«plink.exe» se puede utilizar en un script por lotes de Windows para automatizar la ejecución de scripts remotos a través de SSH. Esto es especialmente útil para automatizar las operaciones de NetApp y activar scripts adicionales en hosts UNIX y Linux. Un comando típico es el siguiente:

plink -ssh -l root -pw "password" host-name command

Un ejemplo más específico es:

plink -ssh -l root -pw "password" 192.168.199.10 "reboot"

En sistemas UNIX/Linux compatibles, este comando hace que la máquina remota en la dirección 192.168.199.10 se reinicie inmediatamente.

Cuando se ejecuta plink por primera vez desde la línea de comandos de Windows en un nuevo host, aparece un mensaje similar al siguiente:

The server's host key is not cached in the registry. Youhave no guarantee that the server is the computer youthink it is.The server's rsa2 key fingerprint is:ssh-rsa 768 d1:1a:29:c0:6d:71:db:3b:36:7b:c1:01:b5:da:ca:d8If you trust this host, enter "y" to add the key toPuTTY's cache and carry on connecting.If you want to carry on connecting just once, withoutadding the key to the cache, enter "n".If you do not trust this host, press Return to abandon theconnection.Store key in cache? (y/n)

Este es un prompt interactivo que no se puede evitar. Si selecciona ‘y’, se almacena en caché una clave de host en el registro de Windows, y para este host no se vuelve a hacer la pregunta de la huella digital de la clave. Si selecciona ‘n’, la clave no se almacena en caché, y esta pregunta aparece cada vez que intenta conectarse a este host.

«plink» almacena en caché estas claves de host en el perfil del usuario dentro del registro HKEY_CURRENT_USER. Esta área del registro es específica para el inicio de sesión actual; persiste entre sesiones de inicio de sesión, pero estos valores no se comparten con otros usuarios del sistema.

Aquí es donde existe el problema. La cuenta por defecto utilizada para DPX es ‘Cuenta del sistema local’. Revise esta configuración yendo al administrador de servicios de Windows. En el administrador de servicios, busque el servicio cmagent, haga clic con el botón derecho y seleccione propiedades, y luego revise la pestaña «Log On». Para que DPX utilice plink de forma efectiva, debe haber una clave de host en el registro HKEY_CURRENT_USER para la cuenta de inicio de sesión del servicio cmagent indicada. El problema es que la «cuenta del sistema local» no tiene una forma directa de iniciar sesión en la consola y sembrar fácilmente estos valores.

Existen dos posibilidades:

  • Crear una cuenta de administrador que tenga acceso completo a todo el hardware de la máquina local y a las interfaces de aplicación soportadas
  • Utilizar la «cuenta del sistema local»
  • En general, el método más sencillo es crear una cuenta de administrador que tenga acceso completo a todo el hardware de la máquina local y a las interfaces de aplicación soportadas. Normalmente funciona un administrador de la máquina local o una cuenta de administrador de dominio, aunque cualquier cuenta es suficiente si tiene los permisos necesarios para que las operaciones de copia de seguridad y restauración de DPX funcionen correctamente. Una vez creada la cuenta, haga lo siguiente:

  1. Vaya al administrador de servicios de Windows y cambie los servicios de DPX (especialmente cmagent) para utilizar esta nueva cuenta. Pruebe un trabajo de protección de datos para asegurarse de que esta cuenta funciona para DPX.
  2. Inicie sesión con esta cuenta y abra un shell de comandos. Para cada host al que necesite conectarse, invoque «plink -ssh user@host-name», y cuando se le pregunte por la huella digital de la clave, responda ‘y’ para almacenar el valor. No se necesita ningún otro comando; puede salir de cualquier shell interactivo que se invoque.

Los valores necesarios se almacenan en caché en:
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

Deja una respuesta

Tu dirección de correo electrónico no será publicada.