ssh-add -K ~/.ssh/id_rsa lädt Ihren Schlüssel, fragt jedoch bei jedem Neustart nach dem Kennwort. 
Ich suche nach einer Lösung, bei der ich das Schlüsselkennwort zwischen den Anmeldungen nicht erneut eingeben muss.
Kommentare
- Can Sie sagen etwas mehr darüber, wann die Passwortabfrage für Sie angezeigt wird? Ich frage, weil ich einen SSH-Schlüssel für einen Remote-Server habe, von dem ich versichere, dass er nicht mit meinem Mac-Anmeldekennwort oder etwas anderem übereinstimmt, und ich ' musste den nicht eingeben Passwort für den SSH-Schlüssel für Jahre . Ich kann einfach ein Terminal öffnen und " ssh < Server > " und ich ' bin dort. Ich glaube, ich habe diesen Schlüssel zuerst unter OSX 10.5 eingerichtet. id_dsa, aber ich denke nicht, dass ' das wichtig sein sollte.
 -  Mein 
id_rsaSchlüssel hat ein Passwort. -  Ich habe auch das Problem, dass ich dies vor so langer Zeit gelöst habe, dass ich mich ' nicht genau daran erinnern kann, was ich getan habe. Aber ich denke,  die Idee ist,  nicht
ssh-addauszuführen, sondern nursshdirekt. Sie sollten ein Fenster öffnen, das als Passphrase für den Schlüssel dient, und ein Kontrollkästchen, mit dem Sie es in Ihrem Schlüsselbund speichern können.- @Sorin – meins auch! Ich musste es vor langer Zeit einmal eingeben und der Mac hat es seitdem für mich gespeichert. Hoffentlich hilft der Rat von Harald '.
 - Meinen Sie das Schlüsselbundkennwort (dh Ihr Anmeldekennwort) oder den Schlüssel ' s Passphrase? Wenn es ' letzteres ist, sind Ihre Passphrasen definitiv im Schlüsselbund gespeichert? Sie können dies überprüfen, indem Sie den Schlüsselbundzugriff öffnen und im Anmeldeschlüsselbund danach suchen.
 Antwort
Unter OSX Der native
ssh-add-Client hat ein spezielles Argument zum Speichern der Passphrase des privaten Schlüssels im OSX-Schlüsselbund. Dies bedeutet, dass Ihre normale Anmeldung ihn für die Verwendung mit ssh freischaltet. Unter OSX Sierra und später müssen Sie auch SSH so konfigurieren, dass immer der Schlüsselbund verwendet wird (siehe Schritt 2 unten).Alternativ können Sie einen Schlüssel ohne Passphrase verwenden, aber wenn Sie die Sicherheit bevorzugen, ist dies mit Sicherheit akzeptabel Dieser Workflow.
Schritt 1 – Speichern Sie den Schlüssel im Schlüsselbund.
Führen Sie dies nur einmal aus:
ssh-add -K ~/.ssh/[your-private-key]Geben Sie Ihre Schlüsselpassphrase ein und Sie werden nicht erneut danach gefragt.
(Wenn Sie eine Vor-Sierra-Version von OSX verwenden, sind Sie fertig, Schritt 2 ist nicht erforderlich.)
Schritt 2 – Konfigurieren Sie SSH so, dass immer der Schlüsselbund verwendet wird.
Es scheint, dass OSX Sierra das bequeme Verhalten des Beharrens Ihrer Schlüssel entfernt hat zwischen Anmeldungen und dem Update auf ssh wird standardmäßig nicht mehr der Schlüsselbund verwendet. Aus diesem Grund werden Sie nach dem Upgrade und nach jedem Neustart aufgefordert, die Passphrase für einen Schlüssel einzugeben.
Die Lösung ist recht einfach und wird in dieser Github-Thread-Kommentar . So richten Sie es ein:
- 
Stellen Sie sicher, dass Sie Schritt 1 oben abgeschlossen haben, um den Schlüssel im Schlüsselbund zu speichern.
 - 
Wenn Sie dies noch nicht getan haben, erstellen Sie eine
~/.ssh/config-Datei. Mit anderen Worten, im Verzeichnis.sshin Ihrem Ausgangsverzeichnis machen Sie Eine Datei mit dem Namenconfig. - 
Fügen Sie in dieser
.ssh/config-Datei die folgenden Zeilen hinzu :Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsaÄndern Sie
~/.ssh/id_rsain den tatsächlichen Dateinamen Ihres privaten Schlüssels. Wenn Sie andere private Schlüssel in Ihrem haben~/.sshVerzeichnis, fügen Sie für jede von ihnen auch eineIdentityFile-Zeile hinzu. Ich habe beispielsweise eine zusätzliche Zeile mit der AufschriftIdentityFile ~/.ssh/id_ed25519für einen zweiten privaten Schlüssel.Die
UseKeychain yesist der Schlüsselteil, der SSH anweist, in Ihrem OSX-Schlüsselbund nach dem Schlüssel zu suchen Passphrase. - 
Das wars! Wenn Sie das nächste Mal eine SSH-Verbindung laden, werden die von Ihnen angegebenen privaten Schlüssel ausprobiert und ihre Passphrase im OSX-Schlüsselbund gesucht. Es ist keine Eingabe von Passphrasen erforderlich.
 
Kommentare
-  @Poulsbo & @Abram – siehe mein Update, Sierra hat das automatische Verhalten geändert und jetzt müssen Sie ausführen 
ssh-add -Amanuell, um Ihren gespeicherten Schlüsselbund zu laden. Einige mögliche Lösungen, auf die oben verwiesen wurde. -  @trisweb Vielen Dank für den Tipp. joshbuchea ' zum Ändern der Datei 
.ssh/configsieht vielversprechend aus! Siehe github.com/lionheart/openradar-mirror/issues/… -  Funktioniert hervorragend!In meinem Fall musste ich zusätzlich zum Flag 
Kdas FlagAverwenden, um meine Schlüssel zum Schlüsselbund hinzuzufügen und die Passphrase zu registrieren it (ssh-add -AK ~/.ssh/[your-private-key]). Danke! - Selbst mit der Option usekeychain stelle ich fest, dass mein Schlüsselbund beim Neustart den Schlüssel .ssh / id_rsa löscht.
 - Ich habe genau das Gleiche getan und mein Mac löscht den Schlüssel immer noch Schlüssel beim Neustart.
 
Antwort
Ich hatte ein ähnliches Problem, da ich gefragt wurde jedes Mal für meine Pub-Key-Passphrase. Auf Vorschlag des Benutzers „trisweb“ oben habe ich diese Optionen auf
~/.ssh/configaktiviert:Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsaAber wurde immer noch jedes Mal aufgefordert, wenn ich ssh verwenden wollte. Schließlich habe ich
ssh -vaktiviert und diese Debug-Zeile gefunden:debug1: key_load_private: incorrect passphrase supplied to decrypt private keyDann habe ich meinen Schlüsselbund in „Keychain Access“ geöffnet .app „, fand den Schlüssel“ SSH: /Users/username/.ssh/id_rsa „und öffnete ihn. Ich klickte auf „Passwort anzeigen“, um das Passwort offenzulegen, und stellte tatsächlich fest, dass die Passphrase im Schlüsselbund eine alte Passphrase war. Ich habe die Passphrase in Keychain Access aktualisiert und jetzt funktioniert sie ohne Passwort.
Ich hätte die Passphrase auch mit folgendem Satz aktualisieren können:
ssh-keygen -p -f ~/.ssh/id_rsaKommentare
- Auf meinem Mac wird das Passwort in der Kategorie „Passwort“ der „iCloud“ -Kette gespeichert. Ich dachte, es wäre in der Anmeldekette.
 
Antwort
An alle, bei denen das oben genannte nicht funktioniert hat Mein Problem scheint darin bestanden zu haben, dass ich die
UseKeychain yes&AddKeysToAgent yesinsgesamt dupliziert habe SSH-Schlüsselprofile / Verknüpfungen. Ich habe meine~/.ssh/config-Datei aktualisiert, um diese nur einmal zu deklarieren. Sie werden jetzt alle beim Anmelden geladen, ohne beim Start zur Eingabe von Kennwörtern aufzufordern, z. B.:Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/foo IdentityFile ~/.ssh/bar Host foo HostName foo.com User fooUser IdentityFile ~/.ssh/foo Host bar HostName bar.com User barUser IdentityFile ~/.ssh/barKommentare
-  Ich würde empfehlen, dass 
Host *bestimmten Hostregeln folgt. Weitere Informationen finden Sie unterman ssh_config. 
Antwort
Auch in Wenn Sie mit macOS Sierra und HighSierra (Sie wissen nichts über frühere Versionen)
ssh-add -Aausführen, lädt der Agent alle Schlüssel, deren Passphrasen im Schlüsselbund gespeichert sind … Also sehr praktischAntwort
Fügen Sie den öffentlichen Schlüssel hinzu in:
.ssh/known_hostsÖffentlich Die Tasten sind normalerweise aktiviert:
/home/user/.ssh/id_rsa.pubIch hoffe, das hilft
Kommentare
-  Ich denke, die 
authorized_keys - Wie auch immer, dies funktioniert nicht ', wenn Sie mehr als einen Schlüssel haben!