Raspberry Pi: SSH-Verbindung aufbauen

Zur Fernwartung per Kommandozeile lässt sich eine SSH-Verbindung zum Raspberry Pi aufbauen. Hierfür muss der Raspberry Pi per Ethernet oder WLAN mit dem Netzwerk verbunden sein.

Auf dem lokalen System benötigt man einen SSH-Client und die IPv4-Adresse des Raspberry Pi. Bei Computersystemen mit Mac OS und Linux ist der SSH-Client bereits auf der Kommandozeile integriert. Hier muss man nur noch ein Terminal-Programm aufrufen.
Unter Windows muss man zusätzlich einen SSH-Client (z. B. PuTTY) installieren.

Hinweis: Seit dem Raspbian-Jessie-Image vom 2016-11-25 ist SSH aus Sicherheitsgründen standardmäßig deaktiviert.

Lösung mit Mac OS oder Linux: SSH-Verbindung aufbauen

Zuerst ruft man ein Terminal-Programm auf. In der Kommandozeile gibt man dann folgendes Kommando ein. Als "HOST" gibt man die IP-Adresse oder den Hostnamen des Raspberry Pi ein.

ssh pi@{HOST}

Sofern eine Verbindung zur der IPv4-Adresse möglich ist und der Standard-Benutzer "pi" existiert muss man das Passwort "blind" eingeben. Damit ist gemeint, dass die Tastatureingabe nicht dargestellt wird. Es sieht so aus, als ob nichts eingegeben wird.

raspberry

Danach muss man die Authentizität der antwortenden Gegenstelle bestätigen (einmalig). Anschließend ist die SSH-Verbindung erfolgreich hergestellt.

Hinweis: Wenn man den Benutzernamen nicht gleich mit in die Adressierung eingibt (pi@...), dann versucht sich der SSH-Client mit dem lokalen Benutzer anzumelden. Das funktioniert in der Regel nicht, weil man hier in der Regel nicht mit dem selben Benutzer angemeldet ist.

Lösung unter Windows: SSH-Verbindung aufbauen

Hier empfiehlt sich die Installation von PuTTY, dass es auch als ausführbares Programm ohne Installation gibt. Nach dem Starten von PuTTY gibt man die IPv4-Adresse des Raspberry Pi und Benutzername "pi" sowie das Passwort "raspberry". Es sollte "SSH" und der Port 22 ausgewählt sein. Anschließend startet man den Verbindungsaufbau mit "Connect". Nach der Annahme des Zertifikats (einmalig) ist dann die SSH-Verbindung erfolgreich hergestellt.

Troubleshooting: IP-Adresse herausfinden

Nach der ersten Inbetriebnahme eines Raspberry Pi gestaltet sich die Verbindungsaufnahme per SSH schwierig, weil die IPv4-Adresse des Raspberry Pi dynamisch per DHCP vergeben wurde und man diese noch nicht weiß. Einfacher ist es, wenn man die Verbindung mit dem Hostnamen des Raspberry Pi aufbaut.

Troubleshooting: Verbindungsaufbau nach dem Systemstart

Da man keine Bildschirm-Ausgabe hat, weiß man natürlich nicht, wann der Raspberry Pi mit dem Systemstart fertig ist. Hierbei hilft ein Blick auf die Status-LEDs auf der Platine. Während des Systemstarts leutet die rote LED dauerhaft und die grüne blinkt oder flackert. Nach Abschluss des Systemstarts leuchtet die rote LED dauerhaft und die grüne LED hört in der Regel auf zu blinken. Dann kann man sich ziemlich sicher sein, dass der Raspberry Pi erfolgreich gestartet ist und man sich per SSH verbinden kann.

Troubleshooting: SSH-Verbindung mit macOS

Wenn man sich per SSH mit einem Raspberry Pi verbindet, dann kann in einem macOS- oder Linux-Terminal folgende Fehlermeldung kommen:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
...

Die Fehlermeldung besagt, dass Hostname bzw. IP-Adresse des "Remote-Hosts" nicht zum gespeicherten öffentlichen Schlüssel passen. Das kann bedeuten, dass man sich mit dem falschen Host verbindet. Das kann passieren, wenn sich die IP-Adresse ändert.
Das Problem dabei ist, dass die Verbindung nicht zustande kommt, was auch richtig so ist. Es könnte sich ein Angreifer in die Verbindung eingeschummelt haben.

In der Regel gibt sich hier niemand als jemand anderes aus, sondern es hat sich irgendetwas geändert. Zum Beispiel die IP-Adresse oder der Hostname oder auch der Schlüssel. Deshalb muss man als Anwender händisch eingreifen, um die gespeicherten Authentifizierungsdaten zu löschen.

Bei macOS den Schlüssel entfernen:

ssh-keygen -R {IP-ADRESSE/HOSTNAME}

Oder die ganze Datei löschen:

rm .ssh/known_hosts

Weitere verwandte Themen:

Teilen:

Produktempfehlungen