¿Cómo encender y apagar un host remoto con Android?

El título no puede ser más específico. Me gustaría que sugiriera la mejor manera de enviar la instrucción de apagado, a Windows o Linux.

¿Qué tipo de host remoto y usando wake on lan?

Respuestas (4)

Encendido

Simplemente puede habilitar Wake-on-LAN en su computadora a través de la configuración del BIOS, luego use cualquiera de las varias aplicaciones WOL para enviar el comando de encendido a través de la red. Algunas aplicaciones como SyncMe también incluyen la funcionalidad WOL, por lo que es posible que no se necesite una aplicación WOL separada.

Apagar en Windows

En general, implicará alguna utilidad de servidor instalada en la computadora y la aplicación de Android del lado del cliente que se comunica con ella, por ejemplo, oneID. Estas aplicaciones suelen incluir otras funciones, que pueden ser excesivas. Puede usar SSH y llamar a la shutdown.exeutilidad, pero también puede ser excesivo. Además, es posible que estas soluciones no cierren Windows "correctamente". Por ejemplo, ni oneID ni shutdown.exepudieron activar mi rutina de "copia de seguridad al cerrar la sesión".

Apagado web

Por estas razones termino escribiendo mi propia pequeña solución. WebShutdown es un pequeño servidor web que apagará la computadora cuando se reciba una solicitud HTTP GET específica. Eso significa que puede apagar su computadora desde un dispositivo Android simplemente tocando un Tasker o acceso directo web en la pantalla de inicio. Windows se cerrará "correctamente", lo que significa que sus secuencias de comandos de cierre de sesión configuradas en la Política de grupo se ejecutarán normalmente.

Puede ejecutar el servidor en el inicio de la computadora de esta manera, por ejemplo: webshutdown.exe 80 valid_password.txt. Luego, en el dispositivo Android, accede a la dirección web http://COMPUTER/shutdown?auth=<password>para iniciar el apagado del sistema.

Si su host admite la reactivación en lan, puede usar algunas de estas aplicaciones.

Si su tarjeta de red puede usar Wake-On-LAN y/o es compatible, y es accesible de forma remota , entonces sí, es bastante posible lograrlo (las aplicaciones de wake-on-lan abundan en Play Store), teniendo en cuenta En cuenta las consideraciones de seguridad que están fuera del alcance de este sitio, verifique dos veces y asegúrese de que no haya ningún otro servicio en esa PC pública, de lo contrario, los malos entrarán y causarán estragos.

Encendido

  1. BIOS habilitado para WOL: para encender el host remoto, primero debe habilitar WOL en su BIOS. La forma en que debe hacer esto variará de una placa base a otra, por lo que tendrá que resolverlo usted mismo o pedirle ayuda a Google .
  2. Cable de host remoto conectado al enrutador
  3. Aplicación capaz de enviar paquetes mágicos a MacAdress de Remote.host

En este momento estoy usando WOLdroid WOL Wake On Lan On remote.host ejecuta:

ifconfig

Detecte la placa ehternet de su host remoto, generalmente eth0 y guarde el valor de la dirección HW XX:XX:XX:XX:XX:XX:XX

Ingrese ese número cuando WOLdroid le solicite una dirección MAC. Y listo.

Ahora puede encender de forma remota

Apagado

1. Prepare el host remoto:

Host remoto con Ubuntu 12.04

Cree sus archivos de clave pública y privada

Para seguir estos pasos, deberá acceder a su host remoto, físicamente o usando otra computadora. Describiré esto como si tuviera acceso físico al host remoto.

Abra una ventana de comando e instale el protocolo ssh:

sudo apt-get install ssh

Cree claves públicas y privadas usando ssh-key-gen

ssh-keygen

Debe guardar la clave generada en:

/home/yourusername/.ssh/id_rsa

Presione enter dos veces para dejar la frase de contraseña vacía.

Your identification has been saved in /home/yourusername/.ssh/id_rsa.
Your public key has been saved in /home/yourusername/.ssh/id_rsa.pub.
The key fingerprint is:
XX:XX:XX:xX:XX:xX:XX:XX:XX:XX:XX:XX:XX:XX yourusername@remote-host

Ahora copie el id_rsa.pub a su archivo ~/.ssh/authorized_keys con este comando:

ssh-copy-id -i ~/.ssh/id_rsa.pub remote.host

Ahora debe poder ejecutar Sudo shutdown -P 0 sin contraseña .

Modifique /etc/sudoers en remote.host con visudo

De esa forma, el usuario " sunombre de usuario " puede ejecutar el comando de apagado sin que se le solicite una contraseña.
Correr:

sudo visudo

Al ejecutar visudo, conduce a editar /etc/sudoers.
Agregue la siguiente línea a ese archivo.

yourusername ALL = NOPASSWD: /sbin/shutdown

Ahora podemos acceder de forma remota y apagar sin pedir contraseñas.

2. Prepara tu Android

  1. Conecte su Android al host remoto y con su explorador de archivos copie el archivo id_rsa ubicado en la carpeta ~/.ssh/ a la tarjeta SD de Android.
  2. Desconecte su Android del host remoto
  3. Instale un programa de cliente ssh. (por ejemplo, ConnectBot )
  4. Abra Connect Bot y vaya a Administrar Pubkeys > Importar y seleccione la clave que copió más tarde.
  5. Regrese a la pantalla principal de Connect Bot y seleccione el protocolo ssh de la lista e ingrese loginname@remote.host. Observe que crea una línea en la pantalla principal con los datos que ingresa.
  6. Presiónelo durante un par de segundos y seleccione editar host.
  7. Seleccionar Use pubkey authenticationy seleccionarid_rsa
  8. en Post-login automationescribirsudo shutdown -P 0
  9. Regrese a la pantalla principal de Connect Bot y ¡listo!

Ahora puede encender y apagar un host remoto :)

Esa no es la respuesta correcta, como noté, editó la pregunta y eliminó la referencia a la PC con Windows ... ¿por qué incluir Linux?
Lo edité nuevamente pidiendo una solución de Windows o Linux, dejando las preferencias de la aplicación fuera de discusión.