Lo primero que debemos hacer para poder acceder a una Raspberry pi es conectarla a la red. La conexión a través de cable ethernet a un router, configurado con DHCP (el caso más habitual en los hogares), es la forma más simple de hacerlo. Enchufar y listo. El problema es que no siempre tendremos un cable de red a mano. Pero seguramente sí haya una red WiFi disponible.
Partimos del supuesto de que tenemos un pincho WiFi enchufado a la raspberry. Si no es así, ve a comprarlo, o dedica tu tiempo a cosas más productivas. Seguro que tienes algo mejor que hacer.
Antes de configurar el acceso a red, debemos asegurarnos de la interfaz en la que tenemos conectado nuestro pincho WiFi. Para ello utilizamos el comando:
sudo ifconfig
Identificamos la interfaz de nuestro pincho en la información que aparece. Lo más probable es que sea wlan0.
Ahora configuramos la conexión. Raspbian maneja las conexiones desde el archivo /etc/network/interfaces. Lo editamos a través del comando
sudo nano /etc/network/interfaces
Se aconseja no borrar la configuración original, por si pudiera ser de ayuda en algún momento futuro. Basta con comentar las líneas poniendo un # al principio de la línea a comentar.
Para configurar el acceso a la red de casa, la configuración de la sección dedicada a la wlan0 (o la que corresponda) debe ser:
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "SSID_red"
wpa-psk "Contraseña_red"
Indicando en el campo SSID_red el nombre de la red WiFi a la que nos queremos conectar, y en Contraseña_red, la clave de la red WiFi.
Si vamos a usar una conexión más especial, como por ejemplo la red EDUROAM, debemos dejar el código por defecto:
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
En este caso la configuración dependerá del archivo wpa_supplicant.conf
Dado que accedemos directamente desde putty recién instalado Raspbian, SSH debería estar configurado por defecto. Si queremos instalarlo de todos modos:
sudo apt-get install ssh sudo /etc/init.d/ssh start sudo update-rc.d ssh defaults
La última línea sirve para que se ejecute automáticamente al inicio
sudo raspi-config
sudo nano /etc/ssh/sshd_config
Buscamos la línea “PermitRootLogin yes” y la cambiamos por “PermitRootLogin no”
Es un servicio gratuito de una página/empresa de internet (pagando está menos limitado). Consiste en darnos acceso a nuestra raspberry pi desde internet a través de un dominio determinado en parte por nosotros y en parte por la empresa que da el servicio.
cd /tmp wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz tar -zxvf noip-duc-linux.tar.gz cd noip-2.1.9-1/ make sudo make install
sudo /usr/local/bin/noip2
sudo nano /etc/init.d/noip2
#! /bin/bash ### BEGIN INIT INFO # Provides: blabla # Required-Start: $syslog # Required-Stop: $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: blabla # Description: # ### END INIT INFO sudo /usr/local/bin/noip2
sudo chmod +x /etc/init.d/noip2
sudo update-rc.d noip2 defaults
Sólo instalaremos el programa, que es suficiente para acceder de esta forma en local. En caso de que queramos acceder desde el exterior, debemos abrir en el router los puertos correspondientes al escritorio remoto y hacemos desde estos puertos un “port fordwing” a la raspberry pi. Para instalar el programa que nos dará acceso por escritorio remoto
sudo apt-get install xrdp
NOTA: El router debe tener abierto el puerto 3389 TCP
VNC es un servicio de escritorio remoto que lleva más de 20 años en uso y que dispone de aplicación, si no en todos, en la mayor parte de sistemas operativos. Existen diferentes licencias según el grado de seguridad que le queramos dar a nuestra comunicación, además de otras características. Lo primero es registrarnos en su página web para obtener una licencia, aunque sea gratuita, y poder descargar VNC para Windows o cualquier otra plataforma. Normalmente viene instalado por defecto en raspbian, aunque a continuación describo de todos modos la forma de instalarlo. La información ha sido extraída de la página oficial de raspberry pi. A continuación accedemos a la raspberry y ejecutamos en la shell
sudo apt-get install tightvncserver
A continuación activamos este servicio
tightvncserver
Desde linux o raspbian, podemos iniciar sesión con VNC en un equipo remoto con resolución full HD
vncserver :0 -geometry 1920x1080 -depth 24
Para que el servidor VNC inicie en la raspberry pi al inicio, seguimos los siguientes pasos:
sudo nano /etc/init.d/vncboot
### BEGIN INIT INFO # Provides: vncboot # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start VNC Server at boot time # Description: Start VNC Server at boot time. ### END INIT INFO #! /bin/sh # /etc/init.d/vncboot USER=pi HOME=/home/pi export USER HOME case "$1" in start) echo "Starting VNC Server" #Insert your favoured settings for a VNC session su - pi -c "/usr/bin/vncserver :0 -geometry 1280x800 -depth 16 -pixelformat rgb565" ;; stop) echo "Stopping VNC Server" /usr/bin/vncserver -kill :0 ;; *) echo "Usage: /etc/init.d/vncboot {start|stop}" exit 1 ;; esac exit 0
Le damos permisos al archivo
chmod 755 vncboot
Añadimos el script a la secuencia de inicio
sudo update-rc.d vncboot defaults
Se puede ver más información acerca de su uso en la página web oficial de raspberry pi.