Ich habe vor kurzem eingerichtet, openssh
damit ich es mit verwenden kann git
.
Während der Einrichtung (gemäß diesem Artikel ) habe ich die folgenden Befehle ausgeführt:
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/<name of key>
Einige Zeit später, nachdem ich mich abgemeldet und wieder angemeldet hatte, git push
bekam ich einen Fehler. Die Lösung für diesen Fehler bestand darin, dieselben Befehle erneut auszuführen.
Bitte sag mir, wie ich kann
- Halten Sie das
ssh-agent
Laufen so dass ich nicht einen neuen starten muß - Denken Sie an die Schlüssel, die ich hinzugefügt habe, damit ich sie nicht jedes Mal hinzufügen muss
Zur Verdeutlichung verwende ich zsh, damit bestimmte Bash-Funktionen in meiner .zshrc nicht funktionieren.
ssh-agent
und wie es funktioniert, bevor Sie versuchen, es an Ihren verdrehten Anwendungsfall anzupassen.Antworten:
Wofür
ssh-agent
und wie funktioniert es?Das
ssh-agent
hält Ihre entschlüsselten Schlüssel sicher im Speicher und in Ihrer Sitzung. Es gibt keine vernünftige und sichere Möglichkeit, die entschlüsselten Schlüssel bei Neustarts / Neuanmeldungen beizubehalten.OK, wie kann ich das automatisieren?
ssh-agent
Start automatisierenHinzufügen
zu Ihrem
~/.bashrc
oder einem anderen Startskript (~/.zshrc
).Automatisieren Sie das Hinzufügen der Schlüssel
Die Schlüssel können beim ersten Gebrauch beim Hinzufügen automatisch hinzugefügt werden
zu deinem
~/.ssh/config
.Weitere Informationen finden
~/.ssh/config
Sie unterman ssh_config
.quelle
eval "$(ssh-agent -s)"
mein Schlüssel hinzugefügt?ssh
diese Option unterstützen, dann ja.ssh-agent
dann automatisieren würde ?[ -z "$SSH_AUTH_SOCK" ] && eval $(ssh-agent)
Fügen Sie dies hinzu
~/.bashrc
Dies bedeutet, dass ssh-agent automatisch gestartet wird, wenn Sie eine andere Sitzung ohne Ihr Terminal öffnen
Wenn Sie dem Agenten einen Schlüssel hinzufügen möchten, fügen Sie diesen ebenfalls hinzu
quelle