Ich habe mein ssh-Zeug mit Hilfe dieses Handbuchs eingerichtet , und es hat früher gut funktioniert (ich konnte es ausführen, hg push
ohne nach einer Passphrase gefragt zu werden). Was hätte zwischen damals und heute passieren können, wenn ich bedenke, dass ich immer noch dasselbe Basisverzeichnis verwende.
$ cat .hg/hgrc
[paths]
default = ssh://[email protected]/tshepang/bloog
$ hg push
Enter passphrase for key '/home/wena/.ssh/id_rsa':
pushing to ssh://[email protected]/tshepang/bloog
searching for changes
...
ssh
key-authentication
Tshepang
quelle
quelle
eval
Eingabessh-agent
?eval
tut das excuting.ssh-add /path/to/key
Ein Weg, dies zu lösen, ist mit
ssh-agent
undssh-add
:Danach wird die Passphrase für die aktuelle Sitzung gespeichert. und wird nicht noch einmal gefragt.
quelle
Ich verwende Keychain für die Verwaltung von SSH- Schlüsseln. Es ist auch in Debian und damit vermutlich Ubuntu mit verfügbar
Hier ist die Seite mit dem Debian-Schlüsselbundpaket . Wie Sie sehen, ist das Projekt nicht sehr aktiv, funktioniert aber für mich. Ich habe dies auch in einer anderen Antwort hier etwas kommentiert
quelle
Erstellen Sie die folgende ~ / .ssh / config-Datei (oder bearbeiten Sie sie, falls vorhanden):
quelle
IgnoreUnknown AddKeysToAgent,UseKeychain
gerade oben hinzufügenUseKeychain yes
.UseKeychain
Option in OpenSSH 7.1p2 (28.02.2016) hinzugefügt wurde. Möglicherweise haben Sie eine frühere Version. openssh.com/txt/release-7.2Zur Vereinfachung ist die optimale Methode eine Kombination der Antworten von jmtd und Faheem .
Mit
ssh-agent
allein bedeutet , dass eine neue Instanz desssh-agent
Bedarfs für jedes neues Terminals erstellt werden , die Sie öffnen.keychain
Bei der Initialisierung werden Sie nach der Passphrase für den / die privaten Schlüssel gefragt und diese gespeichert. Auf diese Weise ist Ihr privater Schlüssel durch ein Passwort geschützt, aber Sie müssen Ihr Passwort nicht immer wieder eingeben.Das Arch-Wiki empfiehlt, den Schlüsselbund von
/etc/profile.d/
oder Ihrem Shell-Profil wie.bash_profile
oder zu initialisieren.bashrc
. Dies hat den Nachteil, dass Ihr Schlüsselbund initialisiert wird, sobald Sie ein Terminal öffnen.Ein flexiblerer Ansatz ist die Kombination
keychain
mit einer bestimmtentmux
Sitzung. Also, in.bash_profile
:... und dann ist es nur ein Fall, die gesicherte
tmux
Sitzung nach Bedarf zu starten (von einer Tastatur aus gestartet):Jetzt wird Ihr Schlüsselbund nur einmal initialisiert, wenn Sie diese bestimmte
tmux
Sitzung starten . Solange diese Sitzung besteht, können Sie auf diesessh
Schlüssel zugreifen und auf Ihre Remote-Repositorys pushen.quelle
.profile
- auf diese Weise erhalten Sie die Aufforderung zur Eingabe von Schlüsseln, sobald Sie sich anmelden.Sie können verwenden
sshpass
:Sie müssen nur hinzufügen,
sshpass -p yourpassphrase
bevor Sie Ihren üblichenssh
Befehl anhängen .quelle