Raspberry Pi - erste Schritte

Im Folgenden zeige ich dir die einzelnen Schritte, um einen Raspberry Pi mit dem Raspberry Pi OS aufzusetzen. Es wird nichts weiter benötigt als ein Raspberry Pi mit Speicherkarte und Stromversorgung. Die Anleitung funktioniert gleichermaßen mit dem Raspberry Pi 4 oder Zero. Je nach Übung musst du 30-60 min an Zeit einplanen, bis alles fertig ist.

Für meinen Bedarf brauche ich den Pi immer ohne Desktop. Entsprechend verwende ich das Raspberry Pi OS lite. Das Aufsetzen funktioniert aber mit jeder Distribution soweit gleich.

Um das Betriebssystem auf die Speicherkarte zu bringen bietet sich der Raspberry Pi Imager an. Die Software ist gleichermaßen für Windows, Linux und Mac erhältlich und installiert schnell und zuverlässig die gewünschte OS Variante auf einer Speicherkarte.

Alternativ kann man auch balenaEtcher verwenden.

Image mit Raspberry Pi Imager aufspielen

Raspberry Pi Image aufspielen - Schritt 1
Raspberry Pi Imager

Nach starten des Programms kannst du unter 1 das Betriebssystem auswählen.

Raspberry Pi Image aufspielen - Schritt 2
Raspberry Pi OS auswählen

Im OS Auswahlmenu kannst du alternativ das Standard-OS auswählen oder, wie in meinem Fall, ohne Desktop zur Lite Version wechseln. Wähle dazu unter 2 Raspberry Pi OS (other) aus.

Raspberry Pi Image aufspielen - Schritt 3
Raspberry Pi OS lite auswählen

In der nun geöffneten Auswahl-Box kannst du jetzt Raspberry Pi OS Lite (32-bit) unter 3 auswählen.

Raspberry Pi Image aufspielen - Schritt 4
Raspberry Pi SD-Karte auswählen

Anschließend kannst du mit dem Auswählen der Speicherkarte unter 4 weitermachen.

Raspberry Pi Image aufspielen - Schritt 5
Raspberry Pi SD-Karte auswählen - Teil 2

Wähle deine Speicherkarte aus.

Raspberry Pi Image aufspielen - Schritt 6
Raspberry Pi OS schreiben

Zu guter Letzt nur noch bestätigen. Im Anschluss musst du die Speicherkarte auswerfen und am selben PC wieder einstecken.

Vorbereitungen

Unter Linux kann man, wenn man will, direkt in der Konsole zur Speicherkarte navigieren. Unter Windows empfiehlt sich Beispielsweise VS Code um die Speicherkarte zu öffnen, da man unter VS Code auch Dateien ohne Erweiterung erstellen kann und man die Line-Endings schnell auf LF sowie die Kodierung auf UTF-8 stellen kann.

Als Erstes erstellen wir eine Datei mit folgendem Inhalt im Root-Verzeichnis der Speicherkarte:

country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="wifi_ssid"
    psk="wifi_password"
}

Ändere in der Konfiguration wifi_ssid zu deinem WLAN Namen und wifi_password in dein WLAN Passwort.

Speichere die Datei direkt auf der Speicherkarte mit dem Namen wpa_supplicant.conf ab.

Anschließend erstellst du eine neue Datei direkt auf der Speicherkarte und nennst sie ssh (oder SSH, ohne Dateiendung).

Nun kann die Speicherkarte ausgehängt und im Raspberry Pi eingesetzt werden. Zum Abschluss den Pi starten und via SSH verbinden.

Mit dem Raspberry Pi via SSH verbinden

ssh 192.168.1.20 -l pi -p 22

Das initiale Passwort lautet raspberry.

Aktualisieren und fehlende Software installieren

Vorab bringen wir den Pi auf den aktuellen Stand:

sudo apt update && sudo apt dist-upgrade && sudo apt autoremove && sudo apt clean

Anschließend wird (zumindest bei mir), Vim und UFW installiert. Wer einen anderen Editor oder IPTABLES ohne UFW bevorzugt, kann den Schritt auch überspringen.

sudo apt install -y vim ufw

Überprüfen, ob die UFW ordungsgemäß aufrufbar ist:

sudo ufw status
Tipp

Bei Raspberry-Pi Installationen ohne Desktop hatte ich, wenn ich für das initiale Betriebssystem den Raspberry Pi imager verwendet habe, bereits mehrfach Schwierigkeiten. Sollte es Error-Meldungen geben, kann man den Kernel aktualisieren:

sudo rpi-update
sudo reboot now

SSH Daemon vorbereiten

Auf dem Raspberry Pi ergänzen/ändern wir vorerst den SSH-Port:

sudo vim -c 'startinsert' /etc/ssh/sshd_config

Die Datei ändern wir wie folgt ab:

#Port 22
Port 22222

Speichern und schließen, dann SSH neu starten:

sudo service ssh restart

SSH Client aufsetzen

Vorerst wechseln wir nun an den (Linux) Desktop und erstellen uns einen SSH Schlüssel:

cd ~/.ssh
ssh-keygen -t rsa -f raspi-box
ssh-copy-id -p 22222 -i ./raspi-box.pub qm-b@192.168.1.20

Die Methode funktioniert, je nach Setup, auch unter Windows in der git bash. Alternativ kann man unter Windows Putty verwenden. Hier habe ich bereits ein Tutorial zum Thema SSH Schlüssel unter Linux/Windows für mehr Informationen.

Anschließend können wir den Raspberry Pi in die SSH config eintragen:

vim -c 'startinsert' ~/.ssh/config
TCPKeepAlive yes
ServerAliveInterval 120

Host *
    AddKeysToAgent yes

Host raspi-box
    HostName 192.168.1.20
    User pi
    PubKeyAuthentication yes
    IdentitiesOnly yes
    IdentityFile ~/qm-b/.ssh/raspi-box
    Port 22222

Jetzt können wir uns via ssh raspi-box mit dem Raspberry Pi verbinden und dort die SSH Konfiguration anpassen:

sudo vi -c 'startinsert' /etc/ssh/sshd_config

Die folgenden Werte müssen jetzt abgeändert werden:

PermitRootLogin no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
PasswordAuthentication no

Anschließend noch speichern und den SSH Server neu starten:

sudo service ssh restart

Zu guter Letzt muss man den Port jetzt in die UFW Regeln eintragen:

sudo ufw allow 22222/tcp
ufw enable
ufw status

Eine ausführliche Anleitung zu UFW Commands habe ich hier bereits verfasst, falls du mehr Informationen zur UFW brauchst.

Hostnamen ändern

sudo hostnamectl set-hostname raspi-box

Jetzt muss man noch die hosts aktualisieren:

sudo vi -c 'startinsert' /etc/hosts

Ändere die Zeile der Datei wie folgt ab:

#127.0.1.1               raspberrypi
127.0.1.1               raspi-box

Vergiss nicht, raspi-box mit deinem gewünschten Hostnamen zu ersetzen!

Passwort ändern

Als Letztes sollte jetzt noch das Passwort geändert werden.

passwd

Gib deine Passwörter ein.

Abschluss

Der Raspberry Pi ist jetzt Einsatzbereit und kann für die weitere Verwendung eingerichtet werden.

Changelog

[15.08.2021]

  • Passwort ändern wurde ergänzt
  • Dateien für die Erst-Konfiguration jetzt im Anhang

Anhänge

Konfigurations-Dateien
application/x-zip-compressed