Tipp: OpenSSH mit ssh-agent
Bereits in dem letzten Artikel dieser Reihe
haben wir die Datei authorized_keys kennengelernt und
erfahren, wie man mit ihr einen Login ohne Kennworteingabe
durchführt.
SSH-Agent
Solange wir, wie es empfohlen ist, auf den ‘privaten Schlüssel’ ein Kennwort legen, muss weiterhin bei jedem Login ein Kennwort eingegeben werden. Dies ist allerdings nicht das Kennwort des Benutzers auf der angesprochenen Maschine, sondern das Kennwort des lokal abgelegten ‘privaten Schlüssels’.
Die Entwickler des SSH-Protokolls haben für diesen Zweck
einen Mechanismus eingebaut, über den ein Agent die
Verwaltung der Schlüssel übernimmt und bei Zugriff auf einen
Server dem ssh-Kommando nutzbare Schlüssel anbietet.
Tipp: OpenSSH Public Key Authentifizierung
Nachdem sich der erste Teil der Reihe mit den grundlegenden Funktionen der ‘Secure SHell’ befasst hat, gehen wir nun einen Schritt weiter. Thema dieses Artikels ist die Anmeldung ohne Passwort per ‘Public Key Authentifizierung’.
Öffentlicher und privater Schlüssel
Die Idee eines Schlüssels ist hinreichend bekannt: Er gewährt Zugang zu einem System. Ein symmetrischer Schlüssel – also ein Schlüssel lediglich zum Verschlüsseln und Entschlüsseln – genügt unseren Ansprüchen an dieser Stelle allerdings nicht.
Tipp: OpenSSH und authorized_keys
Nachdem wir in dem letzten Artikel dieser Reihe
schon die einfache Nutzung der Datei authorized_keys
kennengelernt haben, geht es in dieser Folge um weitere
Einsatzmöglichkeiten.
Darüber hinaus sollen natürlich auch einige wichtige Parameter für die Konfiguration eines OpenSSH-Servers oder -Clients nicht fehlen.
Automatische Ausführung von Befehlen
Die einfachste Art, Befehle mit OpenSSH auf einer entfernten Maschine ausführen zu lassen, ist, den Befehl direkt auf der Kommandozeile anzugeben.
Um die Beispiele zu vereinfachen, gehen wir in der Folge
davon aus, dass lokal ein ssh-agent mit einem ‘privaten
Schlüssel’ läuft und der Benutzer auf dem Server in der
Datei authorized_key den entsprechenden ‘öffentlichen
Schlüssel’ hinterlegt hat.
Tipp: Sicherer Serverzugriff mit OpenSSH
Bereits vor Aufkommen des Internets war es für Administratoren wichtig, über das Netzwerk – also ohne Zugriff auf eine direkt angeschlossene Tastatur – Server und Rechner zu warten. Die ersten hierfür entwickelten Protokolle waren ‘Telnet’ und ‘rsh’ (Remote Shell), die die Daten (inklusive Login-Daten) unverschlüsselt und damit – nach heutigen Maßstäben – unsicher übertragen.
Der Wunsch nach Sicherheit brachte die Entwickler dazu, ein Protokoll zu entwickeln, das sämtliche Daten inklusive Anmeldung verschlüsselt überträgt.