Apagar y encender equipos remotamente con ssh, ethtool y wakeonlan

27 abril 2009 at 13:31 (linux, Ubuntu) (, , , , , )

logo_radminDe Ubuntu a Ubuntu

Todos estos pasos los haremos en la terminal de Ubuntu, tanto en nuestro ordenador como en el que queremos encender o apagar.
Lo primero que hay que hacer, es instalar los paquetes ssh, ethtool y wol(wakeonlan).
El paquete ssh, sirve para entrar en otro equipo remotamente.
El paquete ethtool, sirve para dejar activa la tarjeta de red, para dejarla a la escucha.
El paquete wol, sirve para encender un equipo remotamente.
Para ello, escribimos el siguiente comando:

sudo aptitude install ssh ethtool wakeonlan
ahora, para ver que interface ethernet utilizamos ponemos el comando:
ifconfig
una vez sepamos la interface que utilizamos, escribimos lo siguiente:
sudo ethtool -s eth1 wol g
en mi caso utilizo la interface eth1 y por eso la he escrito en el comando.
 Una vez terminados estos pasos podremos encender y apagar equipos remotamente a nuestro antojo. 

Para apagarlo

Escribimos en la terminal:
ssh usuario@IP
Donde «usuario», es el usuario del PC que queremos apagar y donde «IP», es la IP del PC que queremos apagar. Con el comando ssh lo que hacemos es entrar en otro ordenador remotamente por medio de la terminal. Una vez este paso completado, pondremos en la terminal: 
sudo halt
 
Con este comando, en realidad, lo que hacemos es apagar el ordenador en el que estemos. Pero, como hemos entrado en otro PC con el comando ssh, apagamos el otro ordenador y automáticamente volveremos a estar en el nuestro desde la terminal.
 

Para encenderlo

Escribimos en la terminal:
wakeonlan MAC
Donde «MAC», es la MAC del ordenador que queremos encender. 

De Ubuntu a Windows 

Antes de encender o apagar nada, debemos tener instalados en nuestra máquina Ubuntu el paquete wol:
sudo aptitude install wakeonlan

En nuestra máquina Windows, lo primero que tenemos que mirar es que nuestra tarjeta de red soporte el wol. Si soporta wol, iremos a las propiedades de nuestra área local.
Una vez en ella, pulsamos en el botón configurar para entrar en la configuración de la tarjeta de red.
 Dentro de la configuración de la tarjeta de red, veremos que hay 5 pestañas como en la imagen siguiente.

 

windows1

Seleccionamos la pestaña «Opciones avanzadas». Donde dice «Propiedad», seleccionamos la opción «Wake From Shutdown» y donde dice «Valor», seleccionamos la opción «Encendido». Debería estar como en la imagen:

windows2

Ahora, seleccionamos la pestaña «Administración de energía» y señalamos la opción «Permitir a este dispositivo reactivar el equipo». Tal y como se ve en la imagen:

windows3

Es esencial que, para que funcione con el estado del firewall activado, tengamos que configurar un parámetro.
Tenemos que irnos al panel de control y luego al firewall de windows. Una vez abierto, nos aparecerá una ventana como la siguiente:

firewall

En esta ventana tenemos que entrar en la pestaña «Excepciones» y marcar la opción «Compartir archivos e impresoras»(Estos pasos hay que realizarlos por un tema de puertos. Si no lo hacemos, no funcionará con el firewall activado).

Una vez completados estos pasos, podremos apagar o encender los equipos remotamente a nuestro antojo. 

Para apagarlo

Solo tenemos que escribir en la terminal el siguiente comando (mayúsculas y minúsculas incluidas): 
net rpc SHUTDOWN -C "Estamos apagando el equipo" -f -I 172.16.1.4 -U administrador%123456
 
Donde pone «Estamos apagando el equipo», es el mensaje que envía para que salga en pantalla dell ordenador que queremos apagar.
 
Donde pone 172.16.1.4, es la IP del ordenador que queremos apagar.

Donde pone administrador, es el usuario del ordenador que queremos apagar (tiene que ser administrador sino, no funciona).
Donde pone 123456, es la contraseña del usuario que hemos elegido.

Para encenderlo

Solo hay que escribir en la terminal lo siguiente:
wakeonlan -p 7 MAC
Donde pone -p 7, sirve para redireccionar el puerto por donde va a escuchar. Ponemos esto del puerto porque por el puerto que se envia la señal por defecto, a veces, no va. 
Donde pone MAC, tienes que poner la MAC del equipo que quieres encender.
 

MUY IMPORTANTE: Esta forma solo sirve siempre que estén los 2 ordenadores en red local.

10 comentarios

  1. Daniel_Laixer said,

    Hola!!

    ¿Sería posible acceder a la consola de otra máquina teniendo control total
    sobre ésta? Tengo varios ordenadores con Ubuntu conectados en red en casa y me gustaría controlarlos sin utilizar el escritorio remoto, a través de la terminal

    thx 4 the info
    Un saludo

    • rortegap said,

      Si es posible, utilizando la conexión ssh

  2. jaderak said,

    En mi caso, tengo una red por wifi, cuyo dispositivo es reconocido por GNU/Linux (Ubuntu) como ra0 en vez de eth0. Hice la prueba sustituyendo uno por otro y no me funcionó, me salió este error: «Cannot get current wake-on-lan settings: Operation not supported
    not setting wol»

    ¿Será que mi tarjeta wifi no soporta wake on lan? Es una atheros RaLink RT2860.

    Gracias de antemano y sobre todo por el post 😉

  3. carlos said,

    aportando un poco.

    las tarjetas inalambricas se manejan de otra manera.

    controlar equipos en casa? … si tenes una direccion IP publica sera mucho mas facil y tenes varias opciones.

    si no la tenes la cosa se pone mas dificil puesto que no podes llegar a tu host directamente, tendrias que hablar con tu IP que te permita redireccionar puertos en su maquina para llegar hasta tus host.

    sugerencia, pone una maquina con Windows (lo siento…) y un software como TeamViewer, este abre una sesion en un host externo y desde dodne estes te podes comunicar a tu maquina sin problemas, luego desde Windows abris un VNC hacia tus maquinas, y listo. en el momento actual te puede funcionar. Los proveedores como Team Viewer y similares todavia no atienden a Linux,

    Resumen: un host con windows y team viewer, con algo como Tight VNC o similares, hay decenas en Windows gratuitos, luego habiendo establecido desde fuera, digamos de la ofi una sesion con TeamView, podes controlar tus otros host con Ubuntu o cualquier Linux.
    Suponiendo que queres una sesion grafica, o con el puro ssh client si necesitas una sesion de linea de comandos.

    Espero haber sido util

    • hevercking said,

      bueno también hay la posibilidad de comprarte un ruter con Linux instalado, y le metes alli ethtool wakeonlan (porque SSh ya esta instalado), creas una cuenta dyndns y le instalas el ddclient o uno parecido al router para que actualice las IP’s automaticamente, así des del mismo ruter podrias encender las máquinas de tu red espero que sea de ayuda 🙂

  4. dario said,

    me gustaria hacer un script para apagar varios ordenadores en red con el SO ubuntu. me podrias decir como x favor?¿

  5. Los números de 2010 « Inforlife’s Blog said,

    […] The busiest day of the year was 17 de junio with 165 views. The most popular post that day was Apagar y encender equipos remotamente con ssh, ethtool y wakeonlan. […]

  6. kevin said,

    tengo una pregunta, puedo enviar una nota de texto por red a diversas pc? es decir en un ciber donde ay 12 computadoras con ubuntu deseo enviar una nota a todas las pc diciendo «el local esta apunto de cerrar», esto a todas las pc con ubuntu ¿se puede? ¿como hacerlo?

Replica a Los números de 2010 « Inforlife’s Blog Cancelar la respuesta