Apagando un Windows desde Linux

Queremos que nuestro NUT mande una orden de apagado cuando no haya corriente y se acabe la batería. Pero podría ser útil apagando los ordenadores automaticamente los ordenadores en un Ciberteca, aula de ordenadores, ….

Para ello tenemos que instalar un servidor SSH en Negro (WinXP). Y generar clave simétrica RSA para conectarnos de forma automática y segura.

Instalamos freeSSHd (http://freesshd.com), que es un servidor ssh libre para windows, basado en OpenSSH.

  • Lo instalamos como servicio para que se inicie al iniciar el sistema.
  • Creamos al usuario ups que se valida por Public Key:

En la máquina servidor upsd creamos las claves y sus permisos (que solo pueda ) para mayor seguridad:

elite:~# ssh-keygen -t rsa -q -f /etc/nut/rsa_upsEnter passphrase (empty for no passphrase):

Enter same passphrase again:

elite:~# chmod 600 /etc/nut/rsa_up*

Copiamos el fichero público (rsa_ups.pub) a C:\Archivos de programa\freeSSHd\:

Renombrando rsa_ups.pub con el nombre de usuario: C:\Archivos de programa\freeSSHd\ups

Ya debería responder el PC Windows al comando (utilizando la clave privada):

ssh -i /etc/nut/rsa_ups ups@negro.lebrijo.com “shutdown -s -f -t 60″

Para nuestro NUT hacemos lo siguiente:

  • Creamos el batch con las órdenes de apagado apagado_sistema.sh:
#!/bin/sh# Apagamos el PC de escritorio (si estuviera encendido)ssh -i /etc/nut/rsa_ups ups@negro.lebrijo.com “shutdown -s –f”

# Apagamos el servidor elite

/sbin/shutdown -h +0
  • Cambiamos los permisos, para que se ejecute el script:
chmod 744 /etc/nut/*.sh

One thought on “Apagando un Windows desde Linux

Leave a Reply

Your email address will not be published. Required fields are marked *