Installeren Ubuntu op Raspberry Pi

Stap 1. SD card maken

Om Ubuntu op een SD card te zetten maak ik gebruik van de Raspberry Pi imager. Na het selecteren van Ubuntu 20.04 64-bit LTS is het zeer eenvoudig om hiermee de image op een SD card te schrijven. Gebruik hiervoor een SD card van tenminste 16Gb!

Met Cmd + Shift + X kunnen extra opties met de Raspberry Pi Imager meegegeven worden zoals hostname, Wifi-SID, rsa-key…

Stap 2: IP adres instellen

Standaard login op de Ubuntu OS is
username: ubuntu
password:
ubuntu

Om de Raspberry Pi op te starten met een pre-defined IP adres, wordt het bestand /network-config aangepast. Dit kan op de computer waarmee de SD card is geschreven. Bijvoorbeeld:

version: 2
 ethernets:
   eth0:
     dhcp4: false
     addresses:
     - 192.168.178.50/24
     gateway4: 192.168.178.1
     nameservers:
       addresses:
       - 192.168.178.1
       - 8.8.8.8

Hierna geven we ook elke Raspberry Pi een eigen unieke hostname via cloud-init en daarvoor is het bestand /user-data. Bijvoorbeeld rpi-[1..3] voor de 3 Raspberry Pi’s:

hostname: rpi-1
manage_etc_hosts: true

Tevens kun je hier de locatie-gegevens instellen, zoals:

locale: "nl_NL.UTF-8"
timezone: "Europe/Amsterdam"

Doe dit dan ook op de SD cards voor de overige RPi’s, uiteraard elk met hun eigen unieke ip adres en hostname. Hierna kan de SD card in de Raspberry Pi gestoken worden en vervolgens opgestart worden. Bij de eerste keer inloggen in Ubuntu wordt gevraagd om het wachtwoord aan te passen.

Stap 3. Kopieer jouw public-key

Om in te loggen met ssh is het raadzaam om dit met een ssh-key-pair te doen. Om jouw public key te kopieren naar de Raspberry Pi’s, gebruik het volgende commando’s:

$ ssh-copy-id ubuntu@192.168.1.50
$ ssh-copy-id ubuntu@192.168.1.51
$ ssh-copy-id ubuntu@192.168.1.52

Nog verstandiger is het om hierna het inloggen met username/password op de ssh-daemon uit te schakelen. Zet daarvoor op elke RPI de volgende regel in /etc/ssh/sshd_config:

PasswordAuthentication no

Hierna de ssh daemon herstarten:

$ sudo systemctl restart sshd