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
Nach starten des Programms kannst du unter 1
das Betriebssystem 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.
In der nun geöffneten Auswahl-Box kannst du jetzt Raspberry Pi OS Lite (32-bit)
unter 3
auswählen.
Anschließend kannst du mit dem Auswählen der Speicherkarte unter 4
weitermachen.
Wähle deine Speicherkarte aus.
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 -y && sudo apt autoremove -y && sudo apt clean && sudo apt autoclean
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
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 pi@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