openssh: Lassen Sie ssh nach Bedarf Schlüssel zum Agenten hinzufügen


25

Wenn ich in einen Server ssh und mein Schlüssel nicht im Agenten geladen ist, muss ich abbrechen und dann ssh-add ausführen, um meinen Schlüssel in den Agenten zu bekommen. Ich möchte, dass der Befehl ssh den Schlüssel automatisch hinzufügt, wenn er nicht vorhanden ist. Ist das möglich?


Haben Sie einen Schlüssel für alle Ihre Zielhosts oder haben Sie unterschiedliche Schlüssel mit unterschiedlichen Passwörtern? Verwenden Sie Kitt aus Windows oder verwenden Sie ein X-basiertes Fenstersystem unter Linux oder verwenden Sie einen Mac?
Otheus

Ich benutze nur einen Schlüssel und öffne sh. ssh findet bereits den richtigen Schlüssel heraus und fragt mich nach der Passphrase, aber nachdem ich ihn eingegeben habe, wird der Schlüssel nicht mehr im Agenten gespeichert. Dieses Verhalten ist auf allen POSIX-Systemen und Cygwin gleich.
EnigmaticPhysicist


Nein, das ist anders. Ich möchte das Schlüsselkennwort jedes Mal eingeben, wenn der Agent gestoppt wird. Ich möchte nur, dass ssh den Schlüssel nach Bedarf direkt zum Agenten hinzufügt, anstatt zuerst ssh-add zu verwenden.
EnigmaticPhysicist

Antworten:


35

Die AddKeysToAgentOption macht was ich will. Ich kann -o AddKeysToAgent=yesauf der Kommandozeile angeben oder AddKeysToAgent yesin meinem eine Zeile für sich hinzufügen .ssh/config. Entweder funktioniert.

Es sieht so aus, als wäre dies eine sehr neue Erweiterung von openssh, die in Release 7.2 vom 28.02.2016 erscheint!

http://www.openssh.com/txt/release-7.2

Danke, OpenBSD! Ich werde das viel benutzen .


.ssh / config: Zeile 3: Ungültige Konfigurationsoption: AddKeysToAgent. Irgendwelche Gedanken? Unix-Server
Trainoasis

Überprüfen Sie Ihre openssh-Version. $ ssh -V. Es muss neuer als oder gleich 7.2 sein.
enigmaticPhysicist

In der Tat war das der Fall, danke. Fragt nach dem erneuten Anmelden trotzdem nach dem Passwort. Wie automatisiere ich den Git-Pull per Skript, wenn ich zum Beispiel immer pass eingeben muss? Und ich denke, passwortlos id_rsa ist keine gute Idee ...
trainoasis

Meinen Sie zwischen SSH-Anmeldungen oder zwischen lokalen Anmeldungen? Das Passwort soll zwischen lokalen Anmeldungen gelöscht werden.
enigmaticPhysicist

Jedes Mal , wenn ich ein Skript lokal ausführen, sollte es ssh dort und laufen git pull usw., aber natürlich kann nicht, weil es das Kennwort für GIT Befehle benötigt (ssh Werke ohne da Pass in Schlüsselanhänger, aber Befehle gibt es natürlich für Pass fragen)
trainoasis
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.