SSH

Veröffentlicht am:

Die wichtigsten Befehle zum Merken

  • ssh -G HOST — wirksame Clientkonfiguration ohne Verbindung lesen.
  • ssh-keygen -F HOST — gespeicherte Hostschlüsseleinträge suchen.

Befehle und Optionen

Option oder Argument Bedeutung
ssh -G localhost Clientkonfiguration für localhost auswerten, ausgeben und beenden.
ssh-keygen -F localhost Den Host in der standardmäßigen known_hosts suchen.

-G untersucht Konfiguration und meldet nicht an. -F gehört hier ssh-keygen und sucht einen Host. Optionen gelten pro Werkzeug.

Die entscheidenden Konzepte

1. SSH schützt den Zugriff auf ein entferntes System

SSH, Secure Shell, baut eine verschlüsselte und integritätsgeschützte Fernverbindung auf. Eine interaktive Shell ist ein Anwendungsfall. Auch Dateitransfer und Weiterleitung nutzen die Protokollfamilie.

Zuerst erreicht der Client den Server und handelt Transportschutz aus. Danach folgen Authentifizierung und Sitzungsanforderungen. Ein erreichbarer TCP-Port beweist weder Serveridentität noch Shell-Berechtigung.

2. Der Server authentifiziert sich mit seinem Hostschlüssel

Ein SSH-Server besitzt einen Hostschlüssel als Serveridentität, getrennt vom Anmeldeschlüssel eines Benutzers. Der Client kann ihn in known_hosts speichern und später vergleichen.

Prüfe den Fingerabdruck beim ersten Kontakt über einen unabhängigen vertrauenswürdigen Kanal. Ein geänderter Schlüssel kann legitimen Austausch oder einen unerwarteten Endpunkt bedeuten. Bloßes Löschen des alten Eintrags beseitigt Hinweise, erklärt aber die Änderung nicht.

3. Der Benutzer weist Anmeldeberechtigung nach

Nach der Serverauthentifizierung prüft der Server den Benutzer. Public-Key-Anmeldung beweist den Besitz eines privaten Schlüssels zu einem akzeptierten öffentlichen. Der private Schlüssel wird nicht übertragen.

Eine Schlüsselpassphrase schützt die gespeicherte Datei. Ein Kontopasswort gehört zu einem anderen Anmeldeverfahren. Konto und Serverrichtlinie bestimmen die Rechte. Verschlüsselung macht normale Benutzer nicht zu Administratoren.

4. Konfiguration bestimmt Endpunkt und Identität

SSH-Konfiguration kann Hostnamen, Benutzer, Ports, Schlüsseldateien, Proxys und Weiterleitungen auswählen. Ein kurzer Alias kann deshalb eine komplexere Verbindung beschreiben als sein Name vermuten lässt.

Prüfe die wirksamen Einstellungen bei falschem Benutzer oder Schlüssel. Agent Forwarding und weitere Kanäle gewähren zusätzliche Möglichkeiten und müssen getrennt verstanden werden. Dieses Beispiel liest Konfiguration und gespeichertes Vertrauen, ohne Kanäle aufzubauen.

Ein kleines Beispiel

Optional: Führe die Befehle mit installiertem OpenSSH aus. Sie kontaktieren localhost nicht und benötigen keinen Daemon.

ssh -G localhost
ssh-keygen -F localhost

Suche hostname, user, port und identityfile. Sie beschreiben die Auswahl des Clients, keine nachgewiesen vorhandenen Dateien oder funktionierenden Zugangsdaten. Standardwerte und eigene Konfiguration beeinflussen das Ergebnis.

Der zweite Befehl findet gespeicherte Hosts, auch bei gehashten Namen. Kein Treffer ist für unbekannte Hosts normal; auch die Datei kann fehlen. Ein Eintrag prüft nicht, ob ein laufender Server gerade diesen Schlüssel präsentiert.

Es werden weder Anmeldung noch Vertrauenseintrag oder Schlüssel erzeugt. Aufräumen ist nicht erforderlich.

Merke dir: Prüfe zuerst den Server, dann den Benutzer. Lies die Konfiguration statt Host- und Schlüsselauswahl zu erraten.