Wie man einen SSH-Agenten verwendet.
Ein SSH-Agent sorgt dafür, dass die Passphrase zu einem Schlüssel nicht bei jeder Verbindung neu eingegeben werden muss. Außerdem kann man mit einem Agenten unter Verwendung des -A Arguments eine Agentenweiterleitung nutzen, das heißt man kann sich von Remotesystem zu Remotesystem verbinden sofern der eigene Schlüssel dort eingetragen ist. Schlüssel sollen aus Sicherheitsgründen jedoch nicht permanent mit dem Agenten verknüpft werden.
Zur Anleitung für Linux springen
Windows 10
Ohne zusätzliche Programme
In neueren Versionen von Windows ist ein OpenSSH Feature bereits eingebaut. Der SSH Agent hat noch nicht so viele Funktionen wie unter Linux (siehe https://github.com/PowerShell/Win32-OpenSSH/issues/1056). Es kann folgendermaßen aktiviert werden:
Windows-Taste drücken und nach Optionale Features verwalten suchen.
OpenSSH-Client auswählen und hinzufügen. Dieses Fenster kann nun geschlossen werden.
Als nächstes wieder die Windows-Taste drücken und Dienste suchen.
Den Dienst OpenSSH Authentication Agent mit der rechten Maustaste anklicken und Eigentschaften wählen.
Den Starttyp auf Automatisch oder Automatisch (Verzögerter Start) stellen, dann auf die Einstellungen übernehmen.
Nun können Sie in der Eingabeaufforderung mit ssh-add Ihren SSH-Schlüssel hinzufügen.
Um kein Sicherheitsrisiko einzugehen sollten Sie daher täglich vor Feierabend Ihre(n) Schlüssel von dem Agenten entfernen.
$ ssh-add -D
Und morgens wieder hinzufügen:
$ ssh-add [Pfad]
PuTTY (Pagent)
PuTTY hat etwas ähnliches zum SSH-Agenten: Pagent, dieses Programm merkt sich die Passphrase zu einem SSH-Schlüssel und gibt diesen für Sie ein. Hierfür wird ein Schlüssel im .ppk Format benötigt.
Anleitung wie man einen .ppk Schlüssel generiert (https://edv-kph.uni-mainz.de/2018/10/02/ssh-schluessel-mit-putty-generieren/)
Pagent starten.
Es wird ein neues Symbol in der Taskleiste erscheinen. Ein Doppelklick darauf öffnet ein Fenster.
Klicken Sie auf Add Key und wählen Sie die .ppk Datei mit Ihrem Schlüssel aus. Sie werden aufgefordert die Passphrase einzugeben.
-- Wie es dann weitergeht muss noch ausprobiert werden
Linux Subsystem für Windows
Das openssh Package muss installiert sein.
Den SSH-Agenten startet man mit:
$ eval ssh-agent
Schlüssel können mit
$ ssh-add -t (Dauer) [Pfad]
z. B.:
$ ssh-add -t 8h # Schlüssel wird für den ganzen Arbeitstag hinzugefügt $ ssh-add -t 300 # Schlüssel wird nur für 5 Minuten hinzugefügt
hinzugefügt werden.
Dieser Vorgang kann auch automatisch ablaufen, dazu einfach folgende Zeilen in der Datei ~/.profile anhängen:
test "x$SSH_AGENT_PID" = "x" && eval "$(ssh-agent -s)" ssh-add -t 8h [Pfad zum SSH-Schlüssel]
Unix
Bei den meisten Linux-Distributionen & MacOS sind SSH-Agenten standartmäßig bereits gestartet. Ob ein Agent bereits existiert kann folgendermaßen überprüft werden:
$ ps ax | grep ssh-agent 1227 ? Ss 0:00 ssh-agent -s 1322 tty1 S+ 0:00 grep --color=auto ssh-agent
Schlüssel können mit
$ ssh-add -t (Dauer) [Pfad]
z. B.:
$ ssh-add -t 8h # Schlüssel wird für den ganzen Arbeitstag hinzugefügt $ ssh-add -t 300 # Schlüssel wird nur für 5 Minuten hinzugefügt
hinzugefügt werden. Aktive Identitäten können mit
$ ssh-add -l
eingesehen werden.