| SSH-AGENT(1) | General Commands Manual | SSH-AGENT(1) |
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-cSHELL so aussieht, dass es eine Csh-artige
Shell ist.-Dssh-agent kein »fork«
durchführen.-dssh-agent kein »fork«
durchführen und Fehlersuchinformationen auf die
Standardfehlerausgabe schreiben.-E
Fingerabdruck-Hash-kSSH_AGENT_PID).-O
Optionssh-agent eine Option an. Die
unterstützten Optionen sind:
allow-remote-pkcs11,
no-restrict-websafe und
websafe-allow.
Die Option allow-remote-pkcs11 erlaubt
es Clients eines weitergeleiteten ssh-agent,
PKCS#11- oder FIDO-Bereitstellungsbibliotheken zu laden.
Standardmäßig dürfen nur lokale Clients diese
Aktion durchführen. Beachten Sie, dass die Anzeige, dass ein
ssh-agent -Client in der Ferne ist, durch
ssh(1) erfolgt und andere Werkzeuge zur Weiterleitung
des Zugriffs auf den Vermittler-Socket diese Beschränkung umgehen
könnten.
Die Option no-restrict-websafe 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.
Alternativ erlaubt die Option
websafe-allow die Angabe einer Musterliste von
zentralen Anwendungszeichenketten, um die standardmäßige
Erlaubnisliste zu ersetzen, beispielsweise:
»websafe-allow=ssh:*,example.org,*.example.com«.
Siehe MUSTER in ssh_config(5) für eine Beschreibung der Muster-Listen-Syntax.
-P
erlaubte_Anbieter-S oder -s von
ssh-add(1) verwandt werden dürfen. Bibliotheken,
die nicht auf die Musterliste passen, werden abgelehnt. Die
Standard-Musterliste ist »usr/lib*/*,/usr/local/lib/*«.
Siehe MUSTER in ssh_config(5) für eine Beschreibung der Muster-Listen-Syntax.
-sSHELL nicht nach einer Csh-artigen
Shell aussieht.-t
LebensdauerEs gibt drei 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 dieser Fällen schaut sich ssh(1) diese Umgebungsvariablen an und verwendet sie, um eine Verbindung zum Vermittler aufzubauen.
Die dritte Art ssh-agent
auszuführen, ist über Socket-Aktivierung durch einen
überwachenden Prozess wie systemd(1). In diesem
Modus erstellt der überwachende Prozess das auf Anfragen wartende
Socket und ist für das bedarfsgerechte Starten von
ssh-agent verantwortlich, ebenso wie für die
Mitteilung des Orts des Sockets-Bearbeiters an andere Programme in der
Sitzung des Benutzers. Socket-Aktivierung wird verwandt, wenn
ssh-agent mit einem der Schalter
-d oder -D gestartet wird,
keine Socket-Adresse zum Warten auf Anfragen mittels des Schalters
-a angegeben wird und sowohl die Umgebungsvariablen
LISTEN_FDS und LISTEN_PID
korrekt den überwachenden Prozess bereitstellen.
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.
Bei Empfang eines SIGUSR1 wird
ssh-agent alle von ihm geladene Schlüssel
löschen.
SSH_AGENT_PIDssh-agent startet, speichert es den Namen der
Prozesskennung (PID) des Vermittlers in dieser Variablen.SSH_AUTH_SOCKssh-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.
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: debian-l10n-german@lists.debian.org
| $Mdocdate: 9. Februar 2025 $ | Debian |