Ihr könnt euch per SSH mit einem Server im Netzwerk oder dem Internet verbinden, um bestimmte Befehle auszuführen. Wie das in Linux, Mac und Windows funktioniert, zeigen wir euch hier anhand eines Beispiels.
Linux: Per SSH mit Server verbinden
Unter Linux (und MacOS) ist bereits ein SSH-Client integriert. Für eine Verbindung erfolgt eine Authentifizierung des Ziel-Computers sowie eine Verschlüsselung der Datenübertragung. Außerdem werden während der Übertragung keine Daten manipuliert. Aus diesen Gründen wird SSH gerne benutzt um sich mit anderen Servern zu verbinden, um bestimmte Befehle auszuführen.
In unserem Beispiel verbinden wir uns per SSH mit einem Raspberry Pi, der im gleichen Netzwerk zu finden ist, Vorher haben wir auf dem Raspberry Pi SSH aktiviert.
- Öffnet das Terminal. Meistens funktioniert das mit der Tastenkombination Strg + Alt + T.
- Gebt den Befehl
ssh pi@192.168.178.40
ein und drückt Enter. Ersetzt vorher „pi“ durch euren Benutzer des Raspberry-Pis und die IP-Adresse durch die IP-Adresse eures Ziel-Computers, mit dem ihr euch verbinden möchtet. - Verbindet ihr euch zum ersten Mal mit dem jeweiligen Server, erhaltet ihr nun eine Meldung, dass der Host nicht authentifiziert werden konnte. Außerdem wird euch ein Fingerprint angezeigt. Gebt „yes“ ein und drückt Enter, wenn ihr den Computer zur Liste der bekannten Hosts hinzufügen möchtet, um euch damit per SSH zu verbinden. Mehr zum Fingerprint, erklären wir weiter unten.
- Nun werdet ihr nach dem Passwort des Raspberry-Pi-Benutzers gefragt. Gebt es ein und drückt Enter.
- Wenn die Verbindung erfolgreich war, seht ihr das an der Kommandozeile, die nun anzeigt, dass ihr als Pi-Benutzer auf dem Raspberry Pi angemeldet seid.
- Um euch später wieder abzumelden, gebt ihr den Befehl
exit
ein und drückt Enter.
Falls ihr euch auf einen Computer hinter einem DSL-Router per SSH einloggen wollt, müsst ihr vorher im Router eine Portweiterleitung einrichten, sonst wird die Verbindung abgebrochen.
Unter Windows per SSH mit Server verbinden
In Windows kann man das bekannte Programm Putty nutzen, um eine SSH-Verbindung mit anderen Servern aufzubauen:
- Gebt bei „Host Name (or IP adress)“ die IP-Adresse eures Servers ein und klickt auf den Button „Open“, um die Verbindung herzustellen.
- Gebt nun Benutzername und das Passwort an. Falls ihr auf dem Server noch keinen non-root-Benutzer angelegt habt, nutzt ihr den Benutzernamen „root“ und das zugehörige Root-Passwort für den Login.
- Mit dem Befehl „exit“ kannst du die Sitzung später wieder trennen.
Was bedeutet der SSH-Fingerprint?
Bei SSH gibt es im Gegensatz zu HTTPS keine zentralen Zertifikatsanbieter, die bestätigen, dass man sich mit dem richtigen Server verbindet hat. Wenn ihr euch das erste Mal per SSH mit einem Server verbindet, ist der angebotene Schlüssel noch unbekannt und ihr erhaltet die (oben gezeigte) Meldung, ob ihr euch mit dem Server wirklich verbinden möchtet.
Der Fingerprint soll sicherstellen, dass man sich mit dem richtigen Server verbindet. Falls ihr erneut die Meldung „Unbekannter Fingerprint“ seht, habt ihr vielleicht euer Linux-Betriebssystem neu installiert, wodurch SSH-Schlüssel neu generiert werden. Könnt ihr solche Fälle ausschließen, KANN es auch ein „Man-in-the-Middle-Angriff“ sein, bei dem eure Verbindungsanfrage auf einen anderen (bösartigen) Server umgeleitet wurde. Daher sollte der Fingerprint immer gegen eine vertrauenswürdige Quelle verglichen werden. Entsprechende Server haben ihren Fingerprint in der Regel irgendwo veröffentlicht, den man dann gegenprüfen kann.
Quelle: wiki.ubuntuusers.de
Diese Meldung seht ihr, wenn sich der Fingerprint des Servers plötzlich geändert hat:
Einmalige Verbindung mit Befehl-Ausführung
Ihr könnt an den Verbindungsbefehl auch einfach einen bestimmten Terminal-Befehl anhängen, der dann ausgeführt wird. Danach wird die SSH-Sitzung automatisch wieder beendet.
Beispiel:
ssh pi@192.168.178.40 cat /etc/fstab
Alternative Anmeldemethoden
Bei der Verbindung per SSH könnt ihr statt „Benutzer@IP-Adresse“ auch alternativ den Computernamen oder die Domain eingeben, sofern eine Namensauflösung eingestellt ist.
Beispiel:
ssh pi@gamingmachine
ssh karl@minecraftgaming.com
SSH nachträglich in Linux installieren und konfigurieren
Falls SSH auf eurem Linux-Betriebssystem nicht installiert ist, könnt ihr OpenSSH nachträglich wie folgt aktivieren:
- Öffnet das Terminal mit der Tastenkombination Strg + Alt + T.
- Installiert OpenSSH mit dem Befehl:
sudo apt install openssh-server
- Bestätigt die Installation mit eurem Passwort und danach mit J.
- SSH ist nun aktiviert. Ihr prüft den Status mit dem Befehl
sudo service ssh status
Um euch mit einem SSH-fähigen Server zu verbinden, benötigt ihr einen Benutzernamen und das zugehörige Passwort.
- Diese Einstellungen legt ihr fest mit dem Befehl:
sudo gedit /etc/ssh/sshd_config
- Es öffnet sich die zugehörige Konfigurationsdatei im Editor.
- Anhand der Beispiele in der Datei könnt ihr nun eure Einstellungen eintragen.
- Beachtet, dass die mit einer Raute (#) versehenen Einträge als Kommentare gelten und nicht gewertet werden.
- Speichert danach die Datei und aktualisiert die SSH-Einstellungen danach mit dem Befehl
sudo service ssh restart
.