ssh-agent —
OpenSSH-Authentifizierungsvermittler
ssh-agent
[
-c |
-s]
[
-Dd]
[
-a
Bindungsadresse]
[
-E
Fingerabdruck-Hash]
[
-P
erlaubte_Anbieter]
[
-t
Lebensdauer]
ssh-agent
[
-a
Bindungsadresse]
[
-E
Fingerabdruck-Hash]
[
-O
Option]
[
-P
erlaubte_Anbieter]
[
-t
Lebensdauer]
Befehl
[
Arg …]
ssh-agent
[
-c |
-s]
-k
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:
-
-a
Bindungsadresse
- Bindet den Vermittler an das
UNIX-domain -Socket
Bindungsadresse. Die Vorgabe ist
$TMPDIR/ssh-XXXXXXXXXX/agent.<PPID>.
- -c
- Erstellt C-Shell-Befehle auf die
Standardausgabe
. Dies ist die Vorgabe,
falls SHELL
so aussieht, dass es eine
Csh-artige Shell ist.
- -D
- Vordergrundmodus. Ist diese Option angegeben, wird
ssh-agent kein »fork«
durchführen.
- -d
- Fehlersuchmodus. Ist diese Option angegeben, wird
ssh-agent kein »fork«
durchführen und Fehlersuchinformationen auf die
Standardfehlerausgabe schreiben.
-
-E
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«.
- -k
- Tötet den derzeitigen Vermittler (angegeben in der
Umgebungsvariablen
SSH_AGENT_PID
).
-
-O
Option
- Gibt eine Option beim Starten von
ssh-agent an. Derzeit wird nur eine Option
unterstützt: no-restrict-websafe. Dies
weist ssh-agent an, Signaturen mittels
FIDO-Schlüsseln zu erlauben, die Web-Authentifizierungsanfragen
sein könnten. Standardmäßig verweigert
ssh-agent Signaturanfragen für
FIDO-Schlüssel, bei denen die
Schlüsselanwendungszeichenkette nicht mit »ssh:«
beginnt und wenn die zu signierenden Daten nicht eine
ssh(1) -Benutzerauthentifizierungsanfrage
oder eine ssh-keygen(1) -Signatur zu sein
scheinen. Das Standardverhalten verhindert weitergeleiteten Zugriff auf
einen FIDO-Schlüssel auch durch implizites Weiterleiten der
Fähigkeit, sich beim Webauftritten zu authentifizieren.
-
-P
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/*«.
- -s
- Erstellt Bourne-Shell-Befehle auf die
Standardausgabe
. Dies ist die Vorgabe,
falls SHELL
nicht nach einer
Csh-artigen Shell aussieht.
-
-t
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.
SSH_AGENT_PID
- Wenn ssh-agent startet,
speichert es den Namen der Prozesskennung (PID) des Vermittlers in dieser
Variablen.
SSH_AUTH_SOCK
- 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.
- $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.
ssh(1),
ssh-add(1),
ssh-keygen(1),
ssh_config(5),
sshd(8)
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
<
[email protected]> 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:
[email protected]