====== Configuración acceso a la raspberry pi ======
===== Conexión WIFI =====
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
===== Configuración acceso SSH =====
Dado que accedemos directamente desde putty recién instalado Raspbian, SSH debería estar configurado por defecto. Si queremos instalarlo de todos modos:
- Introducimos los siguientes comandos sudo apt-get install ssh
sudo /etc/init.d/ssh start
sudo update-rc.d ssh defaultsLa última línea sirve para que se ejecute automáticamente al inicio
- Accedemos al menú de configuración sudo raspi-config
- Seleccionamos Advanced Options --> SSH --> + Intro
- A continuación le damos a y a para reiniciar el aparato.
- Perderemos la conexión. Al poco nos volvemos a conectar con putty
- Acontinuación aseguraremos la conexión SSH para no poder entrar como root sudo nano /etc/ssh/sshd_configBuscamos la línea "PermitRootLogin yes" y la cambiamos por "PermitRootLogin no"
- **NOTA:** El router tiene que tener abiertos los puertos 22 TCP y 22 UDP.
===== Configuración Servicio gratuito de dominio No-ip =====
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.
- Accedemos a [[http://www.noip.com/|la página web que da el servicio]], nos abrimos una cuenta y configuramos nuestro host para la raspberry pi.
- Abrimos la //shell// de raspbian y escribimos los siguientes comandos 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
- Cuando nos pregunte introducimos nuestro usuario y contraseña del servicio no-ip, y los minutos tras los que queremos que se refresque la ip (por defecto son 30), y le indicamos que no queremos ejecutar nada cuando se refresque la ip.
- Volvemos a la //shell// sudo /usr/local/bin/noip2
- Para que se inicie el servicio cada vez que se encienda la raspberry:
- Abrimos el archivo noip2 en la //shell// sudo nano /etc/init.d/noip2
- Escribimos el siguiente texto: #! /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
- Guardamos los cambios del archivo y cerramos
- Damos permisos al archivo sudo chmod +x /etc/init.d/noip2
- Lo agregamos al inicio sudo update-rc.d noip2 defaults
===== Configuración escritorio remoto con xrdp =====
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
===== Configuración escritorio remoto con VNC =====
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 [[https://www.raspberrypi.org/documentation/remote-access/vnc/|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
==== Ejecutar al inicio ====
Para que el servidor VNC inicie en la raspberry pi al inicio, seguimos los siguientes pasos:
- Accedemos al //shell// y ejecutamossudo nano /etc/init.d/vncboot
- creamos el siguiente script y salimos guardando antes### 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.