En este post vamos a ver diferentes herramientas de control remoto, tanto en sistemas Windows como GNU/Linux. Para ello podemos emplear protocolos diferentes: telnet, ssh, vnc, etc. Algunos sólo permiten controlar una máquina remota mediante la línea de comandos, mientras que otros hacen uso de streaming de video para poder ver y controlar el escritorio del servidor en tiempo real.
Todos los protocolos de las aplicaciones de control remoto emplean una arquitectura cliente-servidor. Esto quiere decir, que siempre tendremos un servidor (máquina a la que nos vayamos a conectar) y un cliente (máquina desde la cual lo vayamos a hacer).
1. Escritorio remoto en Windows
Los sistemas Windows llevan integrada una herramienta de control remoto llamada Escritorio remoto, que permite iniciar una sesión con un usuario remoto en una máquina remota y controlar el sistema a través de ello.
Para mostrar su funcionamiento voy a emplear 2 máquinas virtuales con sistemas Windows a bordo (una con Windows Server 2012 R2 y otra con Windows 8.1 Pro).
1.1. Configuramos del servidor
Desde el Panel de control entramos en Sistema y seguridad y pulsamos Permitir acceso remoto en la parte de Sistema:
Permitimos las conexiones remotas elegiendo la opción correspondiente y, para una mayor seguridad, marcamos la casilla (aunque no es necesario):
Buscamos el programa de conexión a escritorio remoto y lo ejecutamos:
Introducimos la @IP del servidor y el nombre de usuario del servidor. Si está dentro de un dominio habría que especificarlo:
Introducimos la contraseña del usuario especificado:
El programa no puede comprobar la identidad del servidor por utilizar este un certificado autofirmado. Nos conectamos de todas formas:
Estamos dentro del servidor, que ha iniciado una sesión diferente con el usuario que especifimos. Es decir, no controlamos directamente su escritorio, pero podemos cambiar sus configuraciones y ajustes si tenemos permiso de administrador:
En el lado del servidor, desde el Administrador de tareas podemos comprobar que realmente se ha iniciado una sesión con un usuario diferente:
2. Telnet con herramientas de Windows
2.1. Instalamos el servidor telnet
Agregamos la característica del servidor telnet desde el Adminstrador del servidor:
Comenzamos la instalación de la característica y esperamos hasta que termine:
2.2. Habilitamos el servicio telnet en el servidor
Accedemos a los servicios del sistema:
Ponemos el tipo de inicio en manual:
Y finalmente iniciamos el servicio:
Ya podemos ver que está en ejecución:
2.3. Instalamos el cliente telnet
En el cliente, desde el panel de control, vamos a activar la característica del cliente telnet, ya que no está activada de manera predeterminada.
Abrimos panel de control, vamos a programas y características y pulsamos en activar o desactivar las características de Windows:
Elegimos la que nos interesa y aceptamos:
2.4. Prueba
Desde la máquina cliente ejecutamos el comando telnet @IP_del_servidor:
El programa nos advertirá que las credenciales van a viajar sin cifrar. Continuamos:
Por algún motivo que desconozco, el sevidor no me ha solicitado credenciales. Ha entrado al sistema. Quizá sea porque la cuenta del cliente está dentro del dominio y la reconoce automáticamente.
He aquí la prueba de que realmente estamos en el servidor:
Podemos modificar las carpetas y ficheros, además de ejecutar otros comandos:
3. SSH en Windows con FreeSSHd y PuTTY
FreeSSHd es una herramienta libre y de código abierto para los sistemas Windows, que incorpora los sericios del servidor SSH, TELNET y FTP.
Página oficial
PuTTY es un programa libre y de código abierto también que funciona como un cliente telnet, SSH, rlogin, entre otros. Originalmente sólo disponible para Windows, pero hoy en día también para plataformas Unix y se está desarrollando una versión para MacOS.
Página oficial
3.1. Instalación del servidor
Al finalizar la instlaación de FreeSSHd, nos preguntará si queremos generar las claves privadas. Decimos que sí:
También acpetamos el inicio de FreeSSHd como servicio del sistema:
3.2. Configuración del servidor
Clicamos con el botón derecho sobre el icono del programa en la barra de tareas y entramos en ajustes (Settings). El programa es muy completo, por lo que tenemos la posibilidad de configurar muchas cosas.
En la pestaña Server status podemos ver el estado de nuestro servidor telnet y ssh. Podemos también iniciar o detenerlos desde aquí:
En la pestaña SSH podemos configurar la interfaz en la que se vaya a escuchar (0.0.0.0 significa que se escucha en todas), el puerto, número máximo de conexiones, el mensaje de bienvenida, elegir el intérprete de comandos y generar claves nuevas:
En Encryption vamos a especificar el algoritmo de cifrado. Elijo el AES256 por ser uno de los cifrados simétricos más seguros:
En la pestaña Users podemos añadir usuarios que se puedan conectar, especificando su nombre y el tipo de autorización, además que los servicios que podrá usar a través de esas credenciales.
Mi usuario se va a autorizar con una contraseña que se almacenará en un hash de tipo SHA1:
En Logging tenemos la posibildiad de especificar dónde se van a almacenar los logs y si se almacenan. En mi caso la opción queda desactivada:
3.3. Prueba de conexión con PuTTY
Tras iniciar el programa sólo tenemos que especificar la dirección IP a la cual nos vamos a conectar, el puerto y el tipo de conexión (en mi caso 10.0.0.1, puerto 22 y SSH):
PuTTY emite una alerta de seguridad, debido a que no puede asegurar que nos estemos conectando a un servidor legítimo. Continuamos de todas formas:
Introducimos las credenciales:
Ya estamos dentro del servidor mediante una conexión de shell segura. Podemos hacer cualquier acción que podríamos hacer desde el intérprete de la máquina física:
3.4. Prueba de conexión desde un dispositivo Android
Vamos a Google Play y buscamos "ssh client". Descargamos, instalamos e inciamos el programa:
Entramos en conexiones y agregamos una conexión nueva:
Agregamos identidad nueva (con las credenciales del usuario creado anteriormente):
Introducimos la @IP del servidor y seleccionamos al usuario que acabamos de crear:
Una vez terminado lo anterior, nos aparecerá una conexión nueva en la lista. Pulsamos en ella:
Aceptamos la clave del servidor para establecer una conexión segura:
Estamos dentro del servidor y podemos trabajar con el mediante la línea de comandos:
4. Escritorio remoto con NoMachine
La información de control se envía mediante SSH, por lo que la información que viaja entre el cliente y el servidor está cifrada.
Descargamos el programa y lo instalamos tanto en el lado cliente como servidor (el mismo). Nos pedirá reiniciar el equipo tras la instalación.
Abrimos el programa en el lado del cliente y visualizamos la ventana con nos consejos iniciales:
En la ventana siguiente nos aparecerán los equipos locales a los que nos podemos conectar:
Especificamos al usuario con el que iniciaremos una sesión:
Aceptamos la conexión en el lado del servidor:
¡Listo! Como podréis ver, es mucho más fluido que otras alternativas de control remoto, además de ser más seguro. También está disponible para las plataformas móviles.
5. Control remoto en GNU/Linux con VNC (Vinagre y Vino)
Vinagre es un cliente VNC integrado en entornos Gnome de los sistemas GNU/Linux. Vino, mientras tanto, es un servidor VNC preinstalado en los entornos Gnome también. Son herramientas muy sencillas, pero no por ello menos útiles.
Para hacer esta prueba vamos a necesitar 2 máquinas con distribuciones GNU/Linux instaladas. Voy a emplear Debian 8 Jessie (para simular un cliente) y Ubuntu Desktop 14.04 (para simular un servidor).
En este caso no se requiere ninguna instalación adicional, ya que Vinagre viene preinstalado en Debian y Vino-server en Ubuntu. Eso sí, al igual que en otro tipo de pruebas, las máquinas deben estar en la misma red y, por tanto, tener conectividad entre ellas:
5.1. Habilitamos el servidor
Buscamos "vino" en nuestra máquina con Ubuntu Desktop:
En las preferencias permitimos a otros usuarios visualizar y controlar nuestro escritorio, confirmar cada vez que alguien se intente conectar, requerimos una contraseña y mostramos siempre el icono del programa en el área de notificaciones:
5.2. Configuramos el cliente
Buscamos "vinagre" con el buscador de aplicaciones de nuestra máquina con Debian, y nos aparecerá el visor de escritorios remotos, que es el nombre de Vinagre en entornos Gnome:
Pulsamos conectar y procedemos con la configuración de nuestro cliente:
Elegimos el protocolo (VNC en este caso), la @IP del host remoto (nuestro servidor) y los demás ajustes a vuestro gusto (yo no los he tocado):
Nos pedirá la contraseña del servidor que establecimos en pasos anteriores:
En el lado del servidor aparecerá una advertencia de que alguien intenta conectarse a nuestro escritorio. Permitimos (Allow):
Ya estamos controlando el escritorio de nuestro servidor remoto:
5.3. Echamos a un usuario conectado
Pulsamos sobre el icono del servidor en el área de notificaciones de nuestra máquina con Ubuntu Desktop y le damos a disconnect @IP.
Confirmamos:
En el cliente nos aparecerá un mensaje de que se ha cerrado la conexión:
6. Control remoto de un Android con AirDroid
6.1. Instalamos la aplicación en el terminal
Instalamos AirDroid desde Google Play en nuestro dispositivo:
Aceptamos los permisos que requiere el programa:
Abrimos el programa tras finalizar la instalación:
6.2. Registramos una cuenta AirDroid
Le damos al botón amarillo para comenzar con el registro:
Le damos a registrarse. También hay posibilidad de iniciar sesión con una cuenta de Google+, Facebook o Twitter:
Introducimos los datos requeridos:
6.3. Control desde el programa
Ahora tenemos 2 formas de acceder remótamente a nuestro smartphone: por una interfaz web o mediante la aplicación que se descarga desde la página oficial. La ventaja de la aplicación es que permite controlar el móvil directamente, visualizando la pantalla. Voy a mostrar las 2 formas.
Descargamos el cliente e instalamos el programa:
En el primer inicio nos pedirá las credenciales que introducimos al registrarnos desde el smartphone (también podríamos haberlo hecho desde el PC):
Al iniciar sesión es posible que se requiera una confirmación en el dispositivo móvil. Una vez conectados, podemos controlarlo.
Algunas de las funcionalidades son:
Las notificaciones en tiempo real (hay que habilitar el servicio desde el smartphone primero):
Ver e interactuar con la pantalla del terminal en tiempo real (AirMirror):
Al elegir la opción, se nos abre una ventana nueva con el escritorio del smartphone:
Además tenemos la posibilidad de: pasar ficheros, gestionar mensajes, ver el registro de llamadas, etc.
6.4. Control remoto desde la interfaz web
También nos podemos conectar al smartphone sin necesidad de instalar ningún programa en nuestro equipo. Para ello, desde el navegador vamos a acceder a web.airdroid.com ó @IP_android:8888. Tras entrar en la página se nos requerirá el correo con la contraseña:
Esta es la interfaz web de AirDroid, que parece estar alojada el el smartphone. De hecho, es mucho más completa que el programa anterior que requiere instalación. Desde aquí podemos hacer prácticamente de todo (menos visualizar la pantalla en tiempo real): trabajar con lo ficheros,
Podemos activar la cámara teniendo la pantalla del móvil apagada. ¡Cuidado! Lo siguiente pasa si eres feo y la activas sin querer:
Podemos trabajar con los ficheros del dispositivo desde un explorador integrado:
Si en el móvil tenemos esta opción activada, podemos localizar el dispositivo en el mapa por satélite (GPS):
Algunas de otras opciones: escuchar música y ver vídeos o fotos directamente desde el dispositivo, cambiar el tono de llamada, ver el registro de llamadas, mensajes, copiar algo a portapapeles, capturar la pantalla, trabajar con tus contactos y mucho más.
En resumen: AirDroid me parece una de las herramientas de control remoto más completa para un dispositivo Android. La gran parte de las funciones están disponibles en la versión gratuita del programa. Altamente aconsejable.
Hola Susana!
Enhorabuena a los que lo habéis leído hasta el final :)
No hay comentarios:
Publicar un comentario