Archivo de la categoría: VNC

Acceso Remoto Raspberry Pi

Una vez instalado vamos a asegurarnos el acceso remoto para no tener que necesitar de un monitor y un teclado y ratón y podamos manejarlo.

Acceso Remoto: https://www.raspberrypi.com/documentation/computers/remote-access.html 

Vamos a ver algunas formas de acceso remoto pero existen otras muchas:

  • VPN
  • Secure Copy
  • NFS
  • Samba
  • rsync
  • etc..

Podemos distinguir dos tipos de acceso remoto a Raspberry Pi:

  • Acceso desde un equipo dentro de la misma red donde está Raspberry Pi (casa, oficina, etc…)
  • Acceso desde un equipo fuera de la red de Raspberry Pi (p.e. desde casa acceder a dispositivos en oficina, gateway, node, edge, etc… o acceder red de casa/domótica desde cualquier parte del mundo)

Los métodos descritos sirven para conexión remota a: consola, escritorio y/o puertos/servicios instalados en Raspberry Pi (p.e. Web, Node-RED, etc…)

SSH

La mejor forma de acceder a Raspberry Pi remotamente en modo comando en línea o consola estando en la misma red es usando SSH. 

SSH sigue un modelo cliente-servidor. El cliente inicia una petición al servidor, que autentifica la comunicación e inicia el entorno Shell. Múltiples clientes pueden conectarse a un mismo servidor. Por defecto SSH emplea el puerto TCP 22 aunque puede cambiarse fácilmente. 

SSH dispone de más usos muy interesantes, por ejemplo, podemos copiar archivos de forma segura entre dos dispositivos, o tunelizar cualquier conexión de otra aplicación a través de un canal seguro SSH.

Para activar el servidor SSH en Raspberry Pi comprobar que estás activado en menú – Preferencias- Configuración de Raspberry Pi – Interfaces

Esta conexión sólo funciona en red local. Para poder acceder desde fuera, a través de Internet, hay que configurar un mapeo de puertos en el router. El proceso completo depende del router.

Para conectarnos desde Windows a SSH, deberemos emplear un cliente SSH para conectarnos con Raspberry Pi. El cliente más utilizado en Windows es Putty, que es Open Source y está disponible en https://www.putty.org/.

Desde Windows 10 con actualización de octubre de 2018 o posterior se puede usar SSH sin tener que usar clientes de terceros. Usar el comando: ssh pi@<IP>

Interesante herramienta avanzada para conectar por terminal y mucho más: https://mobaxterm.mobatek.net/ 

Descargamos y ejecutamos Putty y nos aparece una ventana donde podemos introducir la dirección IP (o el nombre) de la Raspberry Pi. Al conectarnos se nos preguntará el nombre del usuario y la contraseña.

Más información:

VNC

La mejor forma de acceder a Raspberry Pi remotamente en modo escritorio estando en la misma red es usando VNC.

VNC es un programa de software libre basado en una estructura cliente-servidor que permite observar las acciones del ordenador servidor remotamente a través de un ordenador cliente. VNC no impone restricciones en el sistema operativo del ordenador servidor con respecto al del cliente: es posible compartir la pantalla de una máquina con cualquier sistema operativo que admita VNC conectándose desde otro ordenador o dispositivo que disponga de un cliente VNC portado.

Seguir este tutorial: https://www.raspberrypi.com/documentation/computers/remote-access.html#virtual-network-computing-vnc 

La conexión de VNC de RealVNC se incluye con Raspbian. Consiste en el servidor de VNC, que permite controlar Raspberry Pi remotamente, y el VNC viewer que se instala en el ordenador donde conectarnos a la Raspberry Pi.

El servidor VNC debe habilitarse para poder conectarse remotamente, para ello ir a Menú – Preferencias- Configuración de Raspberry Pi – Interfaces y asegurarse que VNC está activado.

Una vez activado establecer la conexión desde el ordenador instalando el VNC viewer: https://www.realvnc.com/en/connect/download/viewer/ y conectarse a la IP de nuestra Raspberry.

Con esta configuración, solo puedo conectarme por VNC si estoy en la misma red que la Raspberry Pi. Con VNC también se puede establecer una conexión en la nube https://www.realvnc.com/es/connect/. La versión gratuita permite conectar hasta 5 ordenadores.

Para ello es necesario darse de alta en https://www.realvnc.com/es/ y luego registrar la cuenta en el VNC server instalado en Raspberry Pi.

Más información:

Team Viewer

En el caso que queramos conectarnos a nuestra Raspberry Pi estando en cualquier parte del mundo, una buena opción es TeamViewer.

TeamViewer es un software informático privado de fácil acceso, que permite conectarse remotamente a otro equipo. Entre sus funciones están: compartir y controlar escritorios, reuniones en línea, videoconferencias y transferencia de archivos entre ordenadores.Team Viewer es gratuito para uso personal.

Web: https://www.teamviewer.com/es/ 

La instalación es muy simple solo hay que descargarse TeamViewer Host para raspberry Pi desde https://www.teamviewer.com/es/descarga/linux/ y acerse una cuenta en la web de TeamViewer https://www.teamviewer.com/es/ 

Enlace de descarga: https://download.teamviewer.com/download/linux/teamviewer-host_armhf.deb 

Instalar el fichero teamviewer-host_xxx_armhf.deb, simplemente haciendo doble click o con el comando “sudo dpkg -i filename.deb”

Si hay dependencias solucionarlo con  “sudo apt-get update” y “sudo apt-get -f upgrade”

Una vez instalado ejecutar TeamViewer en Raspberry Pi y poner las credenciales de la cuenta de TeamViewer

Una vez instalado, acceder a https://login.teamviewer.com/LogOn con la cuenta de TeamViewer y ya podemos acceder a nuestra Raspberry Pi. Necesitaremos instalar el cliente de TeamViewer o la app de Chrome:

Solo para controlar la Raspberry Pi remotamente ejecutar el cliente “TeamViewer_Setup.exe” de esta forma:

Más información:

Más de TeamViewer

Remote.It

Si queremos exponer puertos de Raspberry Pi en Internet, por ejemplo el puerto 22 de SSH o el puerto 80 de una web o el puerto 1880 de Node-RED, podemo usar el servicio de https://remote.it/

Remote.it ​​crea un reenvío de puertos seguro entre dos o más dispositivos que sea invisible para piratas informáticos, espías o malware.

Pricing: https://remote.it/pricing/ 

Descarga: https://remote.it/download/ 

Documentación: https://docs.remote.it/introduction/get-started 

Como funciona: https://docs.remote.it/introduction/get-started#how-does-remote.it-work 

Tipos de conexiones: https://support.remote.it/hc/en-us/articles/360044788252

Peer to Peer (P2P)

Proxy

Este programa va a permitir acceder a otros dispositivos, que pueden estar en nuestra red local, de forma remota a través de protocolos como HTTPS, SSH, TCP, RDP o VNC, entre otros. Vamos a poder acceder al contenido de un equipo a través del Escritorio Remoto de Windows fácilmente. Es una herramienta totalmente gratuita y disponible para diferentes sistemas operativos.

Si queremos un acceso remoto por consola pero no hay acceso directo a la IP es posible usar https://remote.it/.

Para Raspberry Pi usar el device package, es el método más sencillo: https://docs.remote.it/software/device-package 

Más información:

Zero Tier

ZeroTier es una compañía de software que nos permitirá crear y gestionar SDN (Software Defined Networks) para intercomunicar diferentes ordenadores en una red privada virtual (VPN) de manera fácil y rápida. ZeroTier es una de las formas más fáciles de comunicar equipos en Internet, sin necesidad de crear nuestros propios túneles VPN, por lo que dejaremos atrás la complejidad de configurarlo nosotros mismos.

Nos permite hacer VPNs entre nuestros equipos. Nos proporcionará la posibilidad de interconectar a través de Internet múltiples dispositivos, sin necesidad de abrir puertos en ninguno de ellos. Gracias a su ZeroTier One, la empresa pone a nuestra disposición un programa cliente que permite a los PC, servidores, smartphones y otros dispositivos comunicarse entre ellos a través de una red privada virtual (VPN), y todo ello de manera completamente gratuita y segura, ya que todo el tráfico en la red de ZeroTier va cifrado.

Zerotier: https://www.zerotier.com/ 

Pricing: https://www.zerotier.com/pricing/

Descarga: ​​https://www.zerotier.com/download/ 

Documentación:

Instalar en Raspberry Pi en tan sencillo como ejecutar: curl -s https://install.zerotier.com | sudo bash

Y luego unirse a la red con: zerotier-cli join [network-id] with [device-id]

Crear una red https://zerotier.atlassian.net/wiki/spaces/SD/pages/8454145/Getting+Started+with+ZeroTier 

Para saber en Raspberry Pi el id: sudo zerotier-cli info

Más información: https://www.redeszone.net/tutoriales/vpn/configurar-zerotier-red-sdn-vpn-segura/ 

Dataplicity

Permite el control de Raspberry Pi y hacer port forwarding. Es una solución similar a remote.it enfocada solo a Raspberry Pi y mucho más simple.

Web: https://www.dataplicity.com/

Features: https://www.dataplicity.com/features/ 

Cómo funciona:

Tutorial: http://pdacontroles.com/instalar-dataplicity-en-raspberry-pi-sin-escritorio/ 

Solo expone el puerto 80, pero se puede hacer port forwarding desde la Raspberry Pi. Como solución provisional, es posible redirigir el puerto 80 en su Pi a otro puerto local en su Pi usando un proxy inverso (por ejemplo, usando nginx). Aunque el wormhole seguirá comunicándose con el puerto 80 de su dispositivo, nginx podría escuchar en el puerto 80 y reenviarlo a otro puerto local de su elección. Aquí hay un buen artículo que podría ayudarlo a comenzar: https://www.keycdn.com/support/nginx-reverse-proxy y podría usarse para Node-RED o cualquier otro servicio.

Otras Alternativas al Acceso Remoto

Logmein: https://www.logmein.com/es 

Anydesk: https://anydesk.com/es

Compartir teclado y pantalla: https://www.raspberrypi.org/blog/share-your-keyboard-and-mouse-between-computers-with-barrier/

Opción de acceso remoto con xrdp:

Alternativa opensource interesante para acceso remoto http://www.instructables.com/id/Controlling-your-raspberry-pi-mouse-and-keyboard-r/?ALLSTEPS. Código en: https://github.com/piBoard