2.7 KiB
Raspberry Pi del laboratorio
Objetivo
Centralizar la configuracion, el acceso y el mantenimiento de una flota de Raspberry Pi. La primera unidad es minipc; el mismo procedimiento debe servir para las cinco unidades previstas.
Inventario actual
| Campo | Valor |
|---|---|
| Hostname | minipc |
| Sistema | Raspbian GNU/Linux 13 (trixie) |
| Ethernet | 192.168.50.187 |
| Wi-Fi | 192.168.50.251 |
| Usuario operativo | pi |
| Codigo | /home/pi/minipc/ |
| Servicio bot | pi-bot.service |
| Servicio tunel | autossh-tunel.service |
| Zona horaria | Europe/Madrid |
| Teclado | Espanol (es) |
No se documentan contrasenas, tokens ni claves privadas en este fichero.
Comando unico de diagnostico
En la Raspberry:
bash /home/pi/minipc/vigilancia/raspberry_info.sh
El comando muestra identidad, red, teclado, locale, hora, servicios y recursos sin revelar secretos.
Desde el PC, pasando por el VPS:
ssh -i C:\Users\juanm\Documents\GitHub\contabo root@185.187.169.109 "ssh -i /root/.ssh/pi_deploy -p 2222 pi@127.0.0.1 'bash /home/pi/minipc/vigilancia/raspberry_info.sh'"
Configuracion aplicada en minipc
sudo raspi-config nonint do_configure_keyboard es
sudo localectl set-x11-keymap es pc105
sudo locale-gen es_ES.UTF-8
sudo localectl set-locale LANG=es_ES.UTF-8
sudo timedatectl set-timezone Europe/Madrid
sudo timedatectl set-ntp true
El cambio de idioma puede requerir cerrar la sesion y volver a entrar. El teclado de consola queda definido en /etc/default/keyboard con XKBLAYOUT="es".
Conectividad
- Ethernet es la ruta preferida y usa la IP
192.168.50.187. - Wi-Fi queda disponible como respaldo en
192.168.50.251. - El tunel inverso publica SSH de la Pi en el VPS como
127.0.0.1:2222. - El acceso remoto usa la clave privada del VPS configurada para el tunel; nunca se copia ni documenta aqui.
- Si la IP cambia, consultar
hostname -Ien la Pi y actualizar el inventario.
Despliegue
La Pi no tiene Git operativo para este flujo. El despliegue se hace por el VPS y el tunel inverso:
- Copiar el fichero al VPS.
- Copiarlo por SSH a
pi@127.0.0.1:2222. - Validar con
python3 -m py_compilesi es Python. - Reiniciar el servicio correspondiente.
- Verificar
systemctl is-activey los logs.
Escalado a cinco Raspberry
Cada unidad debe tener un registro con hostname, MAC, IP Ethernet, IP Wi-Fi, servicios, funcion y ubicacion. Se recomienda:
- Reservas DHCP por MAC para evitar cambios de IP.
- Ethernet como red principal.
- Un hostname unico por unidad:
minipc-01,minipc-02, etc. - Un servicio
autossh-tunelpor unidad con un puerto de tunel distinto. - Una clave SSH de despliegue independiente por unidad.
- Un script de diagnostico identico en todas las unidades.