Wie um zu überprüfen, ob der ssh-agent läuft bereits in bash?

Ich eine Probe sh script auf meinem Linux-Umgebung, die im Grunde laufen die ssh-agent für die aktuelle shell, fügt einen Schlüssel und läuft zwei git-Befehle:

#!/bin/bash
eval "$(ssh-agent -s)"
ssh-add /home/duvdevan/.ssh/id_rsa

git -C /var/www/duvdevan/ reset --hard origin/master
git -C /var/www/duvdevan/ pull origin master

Skript tatsächlich funktioniert gut, aber jedes mal, wenn ich es bekomme ich einen neuen Prozess, so dass ich denke, es könnte zu einem performance-Problem und ich könnte am Ende mit nutzlosen Prozessen gibt.

Ein Beispiel für die Ausgabe:

Agent pid 12109
Identity added: /home/duvdevan/.ssh/custom_rsa (rsa w/o comment)

Auch, zusammen mit alle diese, ist es möglich, eine bestehende ssh-agent Prozess, und fügen Sie meine Schlüssel?

Versuchen $SSH_AGENT_PID.
Wenn Sie töten wollen, einen Prozess nach dem laichen, Sie speichern können Ihre PID in eine variable, und rufen Sie es so auf: kill -9 $PID_SSH_AGENT
Ich denke, das Drehbuch schreiben verantwortlich für das starten eines Agenten ist der falsche Ansatz. Einfach davon ausgehen, dass ein agent ist ausgeführt wird, und erfordert keine Benutzer-um sicherzustellen, dass Sie der agent bereits (in der Regel von Ihrem ursprünglichen login-shell.)
Sie könnte auch einfach so ein script mit ssh-agent my-script zu starten, ein agent, der sich beendet, sobald my-script beendet.
Ich kann das nicht, da anmelden, um die Maschine mehrere Male am Tag - und nicht nur mir, sondern auch anderen Menschen.

InformationsquelleAutor omerowitz | 2016-11-11

Schreibe einen Kommentar