Samstag, 13. Januar 2024

Raspberry Pi mit neuem OS bestücken und einrichten

Mein Raspberry Pi 3 Modell B ist von 2018 und ca. 6 Jahre in Betrieb. Dieser kleine Rechenknecht bietet sich für so manche Servergeschichte an. Für mich dient er manchmal auch als "Cloud" bei der Verwendung meines Programms Data-SCP. So tausche ich ab und zu Dateien mit anderen Rechnern aus. Da ich kürzlich das Projekt Terraria-Server in Angriff nahm, kam ich vorher zu dem Entschluss, der kleine PC benötigt ein neues Betriebssystem und diesmal in 64 Bit!

Also erstmal auf die entsprechende Internetseite, wo man das neuste OS für den Raspi findet. Hier lädt man den Raspberry Pi Imager, welchen man bequem unter allen gängigen Betriebssystemen installieren kann. Dieses Tool transferiert das gewünschte Raspi-OS auf die kleine SD-Karte, die in den Raspberry kommt. Das geschieht bei mir am heimischen PC unter Linux Mint. Zuvor kann man sich auf der Internetseite unter Manually install an operating system image alle Downloads, die zur Verfügung stehen, ansehen. Hier taucht auch ein aktuelles Raspberry Pi OS (64-bit) auf. Dieses basiert auf dem aktuellen Debian 12 "Bookworm" und ist mit meinem Gerät kompatibel.

Vorher war auf meinem Mini-PC eine "Legacy" Version von Raspberry Pi OS in 32 Bit in Benutzung. Da man aber bei einigen Projekten eine 64 Bit Version benötigt, nahm ich dies zum Anlass meinem Raspi das "neuste" OS zu spendieren. Und hier lauern auch schon die ersten Fallstricke. Der Raspberry Pi Imager  bietet mir nach der Auswahl meines Modells nicht diese neuste OS-Version an, sondern nur die "Legacy". Deshalb wählt man im ersten Feld kein Filter. Jetzt kann man das neuste OS auswählen. In meinem Fall wähle ich die Lite Version, da ich keinen Desktop auf dem Pi benötige. Nun fix noch die SD-Karte angeben und schon kann es losgehen. Das Betriebssystem wird heruntergeladen und auf die Karte kopiert. 

Ist der Punkt erledigt, schiebt man die (micro)SD-Karte in den Raspi, schließt Tastatur und Monitor an und versorgt das Gerät mit Strom. Wenn das Gerät wirklich komplett "Headless" betrieben wird, so kann man den SSH Zugang sofort aktivieren, indem man im Pi Imager die Einstellungen vor dem Aufspielen bearbeitet, ebenso lässt sich die Netzwerkverbindung vorher konfigurieren. Ich muss zugeben, diesen Punkt hatte ich irgendwie beim Pi Imager übersehen, hätte dies sonst so benutzt, weil es einfach praktisch ist. Beim ersten Start begrüßt mich als erstes ein Konfigurationsassistent und dieser fragt ein paar Dinge ab. Erstens die Lokalisierung, zweitens wird ein Benutzername mit Passwort angelegt, drittens die WiFi Verbindung eingerichtet und zum Schluss wird das System aktualisiert. Mit einem abschließenden Neustart ist das Gerät einsatzbereit.

Wahrscheinlich entfällt dieser Konfigurationsassistent, wenn man im Pi Imager vorher schon alles einstellt. Ich finde das ziemlich gut, da es den Standardbenutzer Pi mit dessen Standardpasswort so nicht mehr gibt. Es ist ein Weg zu mehr Sicherheit, das ist löblich. Apropos Passwort, wenn der Raspi über das Internet erreichbar sein soll und auch eventuell Serverdienste anbietet, so ist ein "sicheres" Passwort nicht zu unterschätzen. Mit diesem steht oder fällt als erstes ein "sicheres" System, also vergesst 12345!

Jedenfalls musste ich noch einige Einstellungen selbst vornehmen. Als erstes rufe ich bekanntlich nochmal die raspi-config Anwendung auf.

sudo raspi-config

Hier gibt es einige Punkte, die man im zuerst genannten Assistenten schon einmal eingestellt hat. Will man z.B. Änderungen am WiFi Zugang vornehmen, so findet man dies alles hier wieder. Unter Punkt 1 - System Options lege ich erstmal unter Hostname einen aussagekräftigen Namen fest. Mein Raspi z.B. heißt mintnixserver. Wieder zurück zum ersten Bildschirm gehe ich zu Punkt 6 - Advanced Options und wähle dann den ersten Punkt um das Dateisystem zu erweitern und so mehr Speicherplatz freizugeben. Mehr war hier nicht nötig und ich beende raspi-config. Natürlich mache ich den Neustart um die Änderungen wirksam werden zu lassen.

Danach bearbeite ich die ssh Konfigurationsdatei um noch mehr Sicherheit in den kleinen Kasten zu bringen.

sudo nano /etc/ssh/sshd_config

Hier ändere ich den Standardport 22 auf einen beliebigen anderen Port. Zukünftig muss ich so den neuen Port bei der Anmeldung über SSH am Raspberry Pi berücksichtigen und angeben. Auch PermitRootLogin no wird aktiviert, falls nicht schon so eingestellt. Die Datei schließen und die Änderungen abspeichern. Der nächste Befehl startet SSH neu, damit die Veränderungen wirksam werden.

sudo service ssh restart

Was ich gern noch installiere, ist das Paket fail2ban. Das Programm überwacht die Anmeldeversuche und unterbindet es, wenn diese zu oft fehlerhaft sind, schützt so in gewissem Maße vor automatisierten Login-Versuchen. 

sudo apt install fail2ban

Will man die Konfiguration anpassen, so ist dieses Kommando auszuführen.

sudo nano /etc/fail2ban/jail.conf

Die Standardwerte sind schon gut eingestellt, können aber individuell angepasst werden. Wichtig ist unbedingt den Wert backend = auto in backend = systemd zu ändern, damit fail2ban auch ordentlich startet. Den Dienst neu starten mit:

sudo systemctl restart fail2ban.service

Und anschließend kontrollieren, ob fail2ban auch funktioniert.

sudo systemctl status fail2ban.service

Zum Schluss folgt noch die Bearbeitung der nachfolgenden Datei.

sudo nano /etc/sudoers.d/010_pi-nopasswd

Hier ändert man in der Zeile das NOPASSWD: ALL zu PASSWD: ALL damit bei der Verwendung von sudo immer das Passwort abgefragt wird. Anschließend den SSH Dienst nochmal neu starten. Das wars im Großen und Ganzen. Somit ist der Raspberry Pi vorbereitet für seinen Einsatz.

Keine Kommentare:

Kommentar veröffentlichen

Vielen Dank für Ihren Kommentar. Die Veröffentlichung erfolgt umgehend nach meiner Prüfung. Ich bitte um etwas Geduld. MfG Mintnix