Wenn Sie in der Vergangenheit Raspbian installierten, egal, ob mit NOOBS oder durch die direkte Übertragung des Raspbian-Images auf eine SD-Karte, war der SSH-Server standardmäßig aktiv. Jeder, der eine Netzwerkverbindung zum Raspberry Pi herstellen konnte, konnte sich als pi
mit dem bekannten Passwort raspberry
einloggen und hatte dann per sudo
uneingeschränkte Rechte. Es wird natürlich überall empfohlen (auch in allen Auflagen unseres Raspberry-Pi-Buchs), das Default-Passwort von pi
sofort zu ändern, aber wen kümmern schon solche Empfehlungen :-(
Immer mehr Pis sind so in Netzwerke integriert, dass sie auch aus dem Internet erreichbar sind. Unter dem Eindruck der Sicherheitskatastrophen der letzten Monate (z.B. Verwundbare Router oder Botnets aus gehackten Webcams) haben sich die Raspbian-Entwickler endlich zu ein klein wenig mehr Sicherheit per Default entschlossen: Bei aktuellen Raspbian-Images ist der SSH-Dienst zwar installiert, aber standardmäßig nicht aktiv. Wie Sie SSH weiterhin verwenden können, erklärt dieser Beitrag.
SSH-Server bei einer Desktop-Installation aktivieren
Um den SSH-Server bei einer Desktop-Installation zu installieren, führen Sie im Startmenü Preferences / Raspberry Pi Configuration bzw. bei deutschen Spracheinstellungen Einstellungen / Raspberry Pi Konfiguration aus und
- ändern zuerst (!) das Passwort für den Benutzer
pi
- und aktivieren dann SSH
Zum Ändern des Passworts müssen Sie einmal das alte Passwort (also raspberrypi
) und zweimal ein sicheres, neues Passwort angeben. Der Dialog gibt sich freilich nicht mit jedem Passwort zurecht. Geben Sie also ein sicheres Passwort mit zumindest 8 Zeichen an!
Wenn Sie SSH aktiviert haben, das pi
-Passwort aber nicht verändert haben, erscheint in Zukunft nach jedem Login ein Warndialog.
SSH-Server bei einer Lite-Installation aktivieren
Wenn Sie eine Lite-Installation durchgeführt haben, fehlt die grafische Benutzeroberfläche. Zur Konfiguration können Sie nun das Konfigurationsprogramm sudo raspi-config
verwenden, das im Textmodus läuft. Zuerst Punkt 2 Change Password, danach Punkt 7 Advanced Options, Unterpunkt A4 SSH. Wer mit Linux vertraut ist, kann das Passwort natürlich auch mit passwd pi
ändern und den SSH-Server mit systemctl start/stop/enable/disable ssh
starten, stoppen, für zukünftige automatische Starts zu kennzeichnen bzw. diese Kennzeichnung wieder zu lösen.
SSH-Server bei einer Headless-Installation aktivieren
Von einer Headless-Installation spricht man, wenn der Raspberry Pi immer ohne Tastatur (und in der Regel auch ohne Monitor) betrieben wird, auch während der Installation. In so einem Fall wird das raspbian-Image zuerst auf einem Computer auf die SD-Karte übertragen, danach wird der Raspberry Pi damit in Betrieb genommen. Alle weiteren Konfigurationsarbeiten erfolgen im lokalen Netz via SSH.
Und genau hier hakt es natürlich: Wie die Erstkonfiguration durchführen, wenn SSH von Anfang an gar nicht aktiv ist? Um dieses Henne-Ei-Problem zu lösen, müssen Sie auf dem Rechner, auf dem Sie die SD-Karte für den Raspberry Pi vorbereiten, in der boot-Partition die Datei ssh
einrichten. Unter Windows können Sie die neue Datei im Explorer einrichten, unter Linux und osX reicht touch /<mountverzeichnis>/ssh
.
Beim nächsten Start des Raspberry Pi wird der SSH-Server gestartet und auch für die Zukunft aktiviert. Die Datei /boot/ssh
wird anschließend gelöscht. Somit können Sie via SSH eine Verbindung zum Raspberry Pi herzustellen (ssh pi@raspberrypi
). Dann führen Sie aus:
sudo passwd pi
(sicheres Passwort einstellen!!)
Alternativ können Sie natürlich auch raspi-config
verwenden. Idealerweise sollten Sie das Passwort des Benutzers pi
ändern, bevor Ihr Raspberry Pi mit dem Internet verbunden ist; auf jeden Fall aber so bald wie möglich.
SSH mit fail2ban weiter absichern
Wenn Ihr Raspberry Pi dauerhaft aus dem Internet erreichbar ist, sollten Sie noch einen Schritt weitergehen und den SSH-Dienst durch fail2ban absichern. Wenn jemand Ihren Raspberry Pi anzugreifen versucht, wird er vermutlich versuchen, durch wiederholte SSH-Login-Versuche Ihr Passwort zu erraten. Der Dienst fail2ban
unterbindet das sehr wirkungsvoll: Nach mehreren fehlerhaften Login-Versionen wird die IP-Adresse, von der die Logins erfolgen, für 10 Minuten gesperrt.
Um den SSH-Server durch fail2ban abzusichern, reicht die simple Installation des Pakets.
apt-get install fail2ban
fail2ban-client status ssh
Status for the jail: ssh
|- filter
| |- File list: /var/log/auth.log
| |- Currently failed: 1
| `- Total failed: 2
`- action
|- Currently banned: 0
| `- IP list:
`- Total banned: 0
Wenn Sie von der Standardkonfiguration abweichende Einstellungen vornehmen möchten, kopieren Sie /etc/fail2ban/jail.conf
nach /etc/fail2ban/jail.local
und nehmen dort die gewünschten Änderungen vor. Anschließend starten Sie fail2ban
mit systemctl restart fail2ban
neu.
danke, genau was ich morgen vor hatte! und auch ausfühlich. super