Scroll to navigation

SSH-AGENT(1) General Commands Manual SSH-AGENT(1)

BEZEICHNUNG

ssh-agent
OpenSSH-Authentifizierungsvermittler

ÜBERSICHT

ssh-agent [-c | -s] [-Dd] [-a Bindungsadresse] [-E Fingerabdruck-Hash] [-P erlaubte_Anbieter] [-t Lebensdauer] ssh-agent [-a Bindungsadresse] [-E Fingerabdruck-Hash] [-P erlaubte_Anbieter] [-t Lebensdauer] Befehl [Arg …] ssh-agent [-c | -s] -k

BESCHREIBUNG

ssh-agent ist ein Programm zum Halten privater Schlüssel, die für asymmetrische Authentifizierung verwandt werden. Mittels Umgebungsvariablen kann der Vermittler gefunden und automatisch zur Authentifizierung verwandt werden, wenn mittels ssh(1) eine Anmeldung auf anderen Maschinen erfolgt.

Folgende Optionen stehen zur Verfügung:

Bindungsadresse
Bindet den Vermittler an das UNIX-domain -Socket Bindungsadresse. Die Vorgabe ist $TMPDIR/ssh-XXXXXXXXXX/agent.<PPID>.
Erstellt C-Shell-Befehle auf die Standardausgabe. Dies ist die Vorgabe, falls SHELL so aussieht, dass es eine Csh-artige Shell ist.
Vordergrundmodus. Ist diese Option angegeben, wird ssh-agent kein »fork« durchführen.
Fehlersuchmodus. Ist diese Option angegeben, wird ssh-agent kein »fork« durchführen und Fehlersuchinformationen auf die Standardfehlerausgabe schreiben.
Fingerabdruck-Hash
Gibt den bei der Anzeige von Schlüssel-Fingerabdrücken zu verwendenden Hash-Algorithmus an. Gültige Optionen sind »md5« und »sha256«. Die Vorgabe ist »sha256«.
Tötet den derzeitigen Vermittler (angegeben in der Umgebungsvariablen SSH_AGENT_PID).
erlaubte_Anbieter
Gibt eine Musterliste von akzeptierbaren Pfaden für PKCS#11-Anbieter- und dynamischen FIDO-Authentifikator-Mittelschicht-Bibliotheken an, die mit der Option -S oder -s von ssh-add(1) verwandt werden dürfen. Bibliotheken, die nicht auf die Musterliste passen, werden abgelehnt. Siehe MUSTER in ssh_config(5) für eine Beschreibung der Musterlisten-Syntax. Die Standard-Musterliste ist »/usr/lib/*,/usr/local/lib/*«.
Erstellt Bourne-Shell-Befehle auf die Standardausgabe. Dies ist die Vorgabe, falls SHELL nicht nach einer Csh-artigen Shell aussieht.
Lebensdauer
Setzt einen Vorgabewert für die maximale Lebensdauer von in dem Vermittler hinzugefügten Identitäten fest. Die Lebensdauer kann in Sekunden oder in einem in sshd_config(5) spezifizierten Dateiformat angegeben werden. Eine für eine Identität mit ssh-add(1) angegebene Lebensdauer setzt diesen Wert außer Kraft. Ohne diese Option ist die maximale Lebensdauer standardmäßig »für immer«.
Befehl [Arg …]
Wenn ein Befehl (und optionale Argumente) übergeben werden, wird dieser als Unterprozess des Vermittlers ausgeführt. Der Vermittler beendet sich automatisch, wenn der auf der Befehlszeile übergebene Befehl sich beendet.

Es gibt zwei grundsätzliche Arten, den Vermittler einzurichten. Die erste ist beim Start der X-Sitzung, wobei alle anderen Fenster und Programme als Kind des Programms ssh-agent gestartet werden. Der Vermittler startet einen Befehl, unter dem seine Umgebungsvariablen exportiert werden, beispielsweise ssh-agent xterm &. Wenn sich der Befehl beendet, beendet sich auch der Vermittler.

Die zweite Methode wird für Anmeldesitzungen verwandt. Wenn ssh-agent gestartet wird, gibt es die Shell-Befehle aus, die benötigt werden, um seine Umgebungsvariablen zu setzen, die wieder in der aufrufenden Shell ausgewertet werden können. Beispiel: eval `ssh-agent -s`.

In beiden Fällen schaut sich ssh(1) diese Umgebungsvariablen an und verwendet sie, um eine Verbindung zum Vermittler aufzubauen.

Der Vermittler hat anfänglich keine privaten Schlüssel. Schlüssel werden mittels ssh-add(1) oder durch ssh(1), wenn AddKeysToAgent in ssh_config(5) gesetzt ist, hinzugefügt. In ssh-agent können mehrere Identitäten gleichzeitig gespeichert werden und ssh(1) wird diese automatisch verwenden, falls vorhanden. Mittels ssh-add(1) werden auch Schlüssel aus ssh-agent entfernt und darin befindliche Schlüssel abgefragt.

Verbindungen zu ssh-agent können von weiteren fernen Rechnern mittels der Option -A von ssh(1) weitergeleitet werden (lesen Sie aber die dort dokumentierten Warnungen), wodurch die Notwendigkeit des Speicherns von Authentifizierungsdaten auf anderen Maschinen vermieden wird. Authentifizierungs-Passphrasen und private Schlüssel werden niemals über das Netz übertragen: die Verbindung zu dem Vermittler wird über ferne SSH-Verbindungen weitergeleitet und das Ergebnis wird dem Anfragenden zurückgeliefert, wodurch der Benutzer überall im Netzwerk auf sichere Art Zugriff auf seine Identitäten hat.

UMGEBUNGSVARIABLEN

Wenn ssh-agent startet, speichert es den Namen der Prozesskennung (PID) des Vermittlers in dieser Variablen.
Wenn ssh-agent startet, erstellt es einen UNIX-domain -Socket und speichert seinen Pfadnamen in dieser Variablen. Darauf kann nur der aktuelle Benutzer zugreifen, aber dies kann leicht von root oder einer anderen Instanz des gleichen Benutzers missbraucht werden.

Unter Debian ist ssh-agent mit gesetztem set-group-id-Bit installiert, um zu verhindern, dass ptrace(2) -Angriffe privates Schlüsselmaterial abfragen. Dies hat den Nebeneffekt, das der Laufzeit-Linker bestimmte Umgebungsvariablen entfernt, die Auswirkungen auf die Sicherheit für set-id-Programme haben könnten, einschließlich LD_PRELOAD, LD_LIBRARY_PATH und TMPDIR. Falls Sie eine dieser Umgebungsvariablen setzen müssen, müssen Sie das in dem durch Ssh-agent ausgeführten Programm machen.

DATEIEN

$TMPDIR/ssh-XXXXXXXXXX/agent.<ppid>
Die UNIX-domain -Sockets, die die Verbindung zum Authentifizierungsvermittler enthalten. Diese Sockets sollten nur durch den Eigentümer lesbar sein. Die Sockets sollten automatisch entfernt werden, wenn sich der Vermittler beendet.

SIEHE AUCH

ssh(1), ssh-add(1), ssh-keygen(1), ssh_config(5), sshd(8)

AUTOREN

OpenSSH ist eine Ableitung der ursprünglichen und freien SSH-1.2.12-Veröffentlichung durch Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt und Dug Song entfernten viele Fehler, fügten neue Funktionalitäten wieder hinzu und erstellten OpenSSH. Markus Friedl steuerte die Unterstützung für SSH-Protokollversion 1.5 und 2.0 bei.

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer

$Mdocdate: 22. Juni 2020 $ Linux 4.19.0-16-amd64