Ich versuche, die folgenden Befehle automatisch ausführen zu lassen, wenn ich mich über ssh auf meinem Server anmelde:
ssh-agent /bin/bash
ssh-add ~/.ssh/id_rsa
Mein SSH-Schlüssel hat eine Passphrase und kann nur einmal pro Login eingegeben werden.
Ich habe versucht, dies in meine .bashrc-Datei zu schreiben, aber ich glaube, dass ssh-agent eine neue Bash-Sitzung startet. Wenn ich versuche, mich anzumelden, nachdem ich dies in meinem .bashrc gespeichert habe, bleibt es hängen und ich muss "exit" eingeben, um die Eingabeaufforderung "passphrace zum Entsperren des Schlüssels eingeben" zu sehen
Irgendwelche anderen Vorschläge?
Auf dem Server läuft Ubuntu LTS
git pull
und solche auf dem Remote-ServerAntworten:
Sie können Folgendes hinzufügen:
Auf diese Weise
ssh-agent
startet das Programm keine neue Shell, sondern startet sich selbst im Hintergrund und gibt die Shell-Befehle aus, um die entsprechenden Umgebungsvariablen festzulegen.Wie im Kommentar erwähnt, möchten Sie den Agenten möglicherweise gar nicht auf dem Remote-Host ausführen, sondern auf der Box, von der aus Sie arbeiten, und verwenden
um die Dienste Ihres lokalen SSH-Agenten an den Remote-Host weiterzuleiten.
Aus Sicherheitsgründen sollten Sie die Agentenweiterleitung nur mit Hosts verwenden, die von vertrauenswürdigen Personen ausgeführt werden. Es ist jedoch besser, einen vollständigen Agenten jederzeit remote auszuführen.
quelle
ssh-agent /bin/bash
mitssh-agent -s
, und dann versuche ich zu tungit pull
, bin ich nach wie vor für das Passwort des privaten Schlüssels aufgefordert , es zu entsperren. Das ist nicht wirklich das, was ich will, ich möchte nur das Passwort eingeben müssen, wenn ich ssh-add mache, und es nicht jedes Mal wiederholen müssen, wenn ich irgendwelche git-Befehle ausführe. Irgendwelche Ideen?Eine Alternative ist die Verwendung von Funtoos Schlüsselbund . Dann können Sie diesen Einzeiler in Ihre Bash-Hülle stecken:
Das macht dasselbe (startet ssh agent, etc.), während auch nicht für jede Subshell ein ssh-agent-Prozess ausgeführt wird. Stattdessen sucht es nach "bereits laufenden" Instanzen, die Sie besitzen, und hängt Sie an diese an.
quelle