Mein aktuelles Setup:
- Windows 10 Pro
- sollte auch mit älteren Windows-Versionen funktionieren, die den Befehl setx (Win7) bereitstellen
- Babun-Muschel (zsh)
- basiert auf cygwin
Was ich getan habe:
Ich entschied mich dazu, die Startbefehle zur Datei .zshrc hinzuzufügen, so dass sie jedes Mal ausgeführt wird, wenn ich eine neue Shell starte. Also hier sind die Befehle:
# startup of the ssh-agent AGENT_PID=$(pgrep -x ssh-agent) if [ $? -ne 0 ]; then echo "~/.zshrc: Starting SSH Agent!" eval `ssh-agent` && ssh-add ~/.ssh/id_rsa setx SSH_AUTH_SOCK $SSH_AUTH_SOCK setx SSH_AGENT_PID $SSH_AGENT_PID echo "~/.zshrc: SSH Agent running (PID: $SSH_AGENT_PID)" else echo "~/.zshrc: SSH Agent already running (PID: $AGENT_PID)" fi
- Der Befehl pgrep sucht nach aktiven SSH-Agenten. Wenn einer läuft, wird die Prozess-ID ausgegeben und der Start eines anderen Agenten übersprungen.
- Wenn keine gefunden werden konnte, wird der Agent gestartet und die Umgebungsvariablen werden exportiert
eval `ssh-agent`
Startet den Agenten und wertet seine Ausgabe aus, die die UmgebungsvariablenSSH_AUTH_SOCK
und setztSSH_AGENT_PID
ssh-add
fügt den angegebenen privaten Schlüssel dem Agenten hinzu, der anfangs zur Eingabe der Passphrase für den privaten Schlüssel auffordert.- Da die oben genannten Variablen nur für den gestarteten Shell-Prozess festgelegt werden, müssen sie global festgelegt werden, damit der Benutzer für andere Shells und andere Tools verfügbar ist, die nicht von der Shell aus gestartet werden. Dies kann mit dem Befehl setx von Windows ausgeführt werden. Ich setze die Variablen einfach gemäß den vom Agenten abgerufenen.
Danach sind Sie fertig und der Agent ist aktiv und kann verwendet werden, sobald Sie eine Shell gestartet haben. Um sicherzustellen, dass der Agent beim Start von Windows gestartet wird, können Sie auch den Shell-Starter zum Windows-Autostart hinzufügen.