Skip to main content

Raspbian

compte

Vamos a necesitar un teclado, monitor/TV y un cable micro HDMI a HDMI para hacer la configuración básica.

Sistema operativo​

Empezaremos copiando el sistema operativo a la micro-SD, para ello la pondremos en cualquier PC con lector y descargamos el Raspberry Pi Imager, este es un asistente que permite descargar y preparar el sistema operativo que queramos.

De sistema operativo elegimos Raspberry Pi OS (other) > Raspberry Pi OS Lite (32 bits), elegimos la SD y Write. Al terminar quitamos la SD y la insertamos en la Raspberry que ya podrá iniciarse con su nuevo sistema operativo.

Una vez se inicie utilizaremos los datos por defecto:

  • Usuario: pi
  • Contraseña: raspberry

Configuración básica​

Antes de activar la conexión remota, prefiero modificar ciertas configuraciones que suelen ser bastante molestas.

Estos pasos habrá que repetirlos en cada nodo.

Teclado​

Por defecto se configura el teclado en inglés, si no es el caso, habrá que cambiarlo.

sudo vi /etc/default/keyboard

En mi caso el teclado está en castellano:

/etc/default/keyboard
XKBLAYOUT="es"
compte

Para salir y guardar de vi tenemos que escribir :wq, pero el teclado está en inglés, así que el carácter : está en la ñ.

Ya que es molesto tener el teclado en otro idioma, reiniciamos para aplicar este cambio.

sudo reboot

Actualizar repositorios​

Aun no vamos a actualizar, pero sí que necesitamos que se actualicen los repositorios para instalar algunas aplicaciones

sudo apt update

VIM​

Por defecto Raspbian tiene vi, personalmente me gusta más vim y con algunos arreglos. Instalamos y empezamos con los arreglos.

sudo apt install vim -y
vi /home/pi/.vimrc

Esta configuración permite utilizar el ratón para copiar, activar la sintaxis, cambiar el tabulador a 2 espacios y disponer de búsquedas.

/home/pi/.vimrc
set mouse=
syntax enable
set tabstop=2
set hlsearch

Lo necesitaremos también para el usuario root.

sudo vi /root/.vimrc
/root/.vimrc
set mouse=
syntax enable
set tabstop=2
set hlsearch

IP​

Debido a que estos nodos se encargarán del DHCP, deben tener IP estática.

sudo vi /etc/dhcpcd.conf

Debemos asignar su IP en la red, el gateway y las DNS externas, en mi caso voy a utilizar siempre las de OpenDNS.

/etc/dhcpd.conf
interface eth0
static ip_address=192.168.1.200/24
static routers=192.168.1.1
static domain_name_servers=208.67.220.220 208.67.222.222

Reiniciamos para asignar todos los cambios.

sudo reboot

Resto de configuraciones​

A partir de aquí utilizo el asistente, que para algo lo han hecho.

sudo raspi-config

Asignamos la contraseña y el nombre.

1 System Options
S3 Password
S4 Hostname

Activamos SSH.

3 Interface Options
F2 SSH
Yes

Reducimos la potencia de la GPU al mínimo para ahorrar memoria RAM.

4 Performance Options
P2 GPU Memory
16

Añadimos el castellano como opción de idioma, aunque mantendremos el inglés como idioma por defecto para evitar problemas con logs. También cambiamos el timezone.

5 Localisation Options
L1 Locale
es_ES.UTF-8 UTF-8
en.GB.UTF-8
L2 Timezone
Europe / Madrid
tip

A partir de aquí ya podemos conectarnos remotamente con SSH.

SSH​

SSH está habilitado, pero tenemos que añadir un banner y crear los certificados para acceder.

El banner es un tema legal, si alguien accede a un servidor que no indica que está prohibido el acceso, entonces será legal que acceda. Además, es bonito.

sudo vi /etc/ssh/sshd_config

Descomentamos la línea de Banner e indicamos la ruta.

/etc/ssh/sshd_config
Banner /etc/ssh/banner

Creamos el banner.

sudo vi /etc/ssh/banner

Lo escribimos a gusto:

/etc/ssh/banner
========== ========== ==========
Welcome to <serverName>
========== ========== ==========
You are accessing a private server
Unauthorized access is not allowed

Reiniciamos para que se aplique el cambio.

sudo systemctl restart ssh

Claves de acceso​

Hay muchas opciones para generar las claves, como yo utilizo un Windows, los genero desde PuTTYgen, desde Linux o MacOS hay otras opciones (y también este).

Generamos el fichero con encriptación de 8192 bits, elegimos un nombre (Key comment) para identificarlo más fácilmente cuando tengamos varios y guardamos el private key que será el que utilizaremos para acceder.

En el servidor, creamos el fichero y pegamos el public key.

mkdir /home/pi/.ssh
vi /home/pi/.ssh/authorized_keys

Una vez terminado, tendremos que configurar nuestro cliente para acceder utilizando ese fichero de claves.

Bluetooth y Wifi​

Este modelo de Raspberry viene con Bluetooth y Wifi, algo que no vamos a necesitar.

sudo vi /boot/config.txt

Desactivamos ambos.

/boot/config.txt
dtoverlay=disable-wifi
dtoverlay=disable-bt

Reiniciamos para aplicar los cambios.

sudo reboot

Alias​

Después de tantos años utilizando los mismos alias, para mí son algo esenciales, aunque cada cuál debería asignar los suyos.

vi /home/pi/.bashrc

Descomentamos los siguientes.

/home/pi/.bashrc
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'

Repetimos lo mismo para root.

sudo vi /root/.bashrc

Añadimos unos cuantos más.

/root/.bashrc
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'

Aplicar los cambios requerirá reiniciar la sesión.

Actualizar​

Antes de terminar, actualizamos el sistema operativo y confirmamos que la BIOS esté actualizada.

sudo apt update
sudo apt full-upgrade -y
sudo rpi-eeprom-update -a
sudo reboot