OSX ssh-agent: kein Passwort einfügen und Problem mit PKCS#8?

Ich verwende ssh auf meinem Rechner und habe eine lange, nicht menschenfreundliche Passphrase eingerichtet, die in meinem Passwort-Manager gespeichert ist. Was mich jedes Mal verrückt macht, ist, dass ich nicht in das unten abgebildete Fenster einfügen kann. Ich kenne die Remember password in my keychainMöglichkeit und nutze sie. Manchmal muss ich aber eine neue eingeben. Warum kann ich nichts in ein Passwortfeld einfügen?

Das Gleiche gilt für den Dialog, der beim Einstecken verschlüsselter Festplatten erscheint.

ssh-agent-Fenster

Einige Aktualisierungen:

  1. Ich habe herausgefunden, wie ich den Dialog umgehen kann: Verwenden Sie einfach ssh-add -K ~/.ssh/id_rsa, und dann kann ich die Passphrase in das Terminal einfügen.
  2. Wie Mattmcmanus erwähnte, ist mein Schlüssel mit pkcs8dem verschlüsselt, was auf dem SSH-Agenten von Yosemite beschädigt wurde. Dies hat nichts mit dem obigen Problem zu tun, ist mir aber gleichzeitig aufgefallen (lesen Sie hier ).
  3. die Verwendung behebt dies ssh-add immer noch nicht für verschlüsselte Festplatten.
Sie sollten eine der folgenden guten Antworten akzeptieren. Sie sollten auch vermeiden, mehrere Fragen in einem einzigen Beitrag zu stellen.
@AlainO'Dea Zuerst, ja, das sollte ich, das ist eine alte Frage und ich habe sie vergessen. Zum Zweiten: Zum Zeitpunkt der Anfrage war nicht klar, dass das zweite Problem (kaputtes PKCS) auftreten würde, siehe Bearbeitungsverlauf.

Antworten (6)

  1. Der Dialog für ssh-agent kann umgangen werden, indem der Schlüssel in der Konsole/im Terminal hinzugefügt wird: ssh-add ~/.ssh/id_rsa. Sie können das Passwort dann in das Terminal einfügen. -KWenn Sie die Option hinzufügen , ssh-addwird es gemäß Oliver Lacans Kommentar im Schlüsselbund gespeichert.
  2. Wie Mattmcmanus sagte, scheint die id_rsaVerschlüsselung mit PKCS auf OSX Mavericks ssh-agent gebrochen zu sein. Die schnelle Problemumgehung besteht darin, die Schlüsseldatei zu entschlüsseln und erneut mit dem Standard-ssh-Verfahren zu verschlüsseln (Schlüsselableitungsmethode: MD5 ...):

mv id_rsa id_rsa.pkcs
openssl rsa -in id_rsa.pkcs -out id_rsa
# enter passphrase to decrypt
chmod 0600 id_rsa
ssh-keygen -f id_rsa -p
# enter passphrase to encrypt again
Während Jonis Antwort ausgezeichnet ist, würde ich empfehlen ssh-add -K ~/.ssh/id_rsa, welche "Passphrasen in Ihrem Schlüsselbund speichern" laut ssh-add --help. Es verhindert, dass Sie es ssh-addjedes Mal neu ausführen müssen, wenn Sie eine neue Shell-Registerkarte öffnen oder wenn Sie Ihren Computer neu starten.

Handelt es sich um einen PKCS#8-Schlüssel und sind Sie auf Außenseitern? Wenn ja, scheint das komplett kaputt zu sein. Bin mir noch nicht sicher ob es eine Lösung gibt.

warum sollte das sein? Das Problem besteht bisher nur darin, dass das Kennwortfeld im Dialogfeld das Einfügen nicht akzeptiert. Diese gab es bereits unter 10.8, aber durch das Update auf 10.9 muss ich die Passphrase erneut eingeben.
OK, Sie scheinen Recht zu haben ... schauen Sie sich meine eigene Antwort an.

Unter Mac OS X El Capitan kann der Befehl ssh-add dies mit einer Option -K tun:

$ ssh-add -K ~/.ssh/id_rsa
Enter passphrase for /Users/your.username/.ssh/id_rsa:

Sie können Ihr Passwort mit ⌘-V in diese Eingabeaufforderung einfügen .

Eine Session dafür sieht so aus:

$ ssh-add -K ~/.ssh/id_rsa
Enter passphrase for /Users/your.username/.ssh/id_rsa:
Passphrase stored in keychain: /Users/your.username/.ssh/id_rsa
Identity added: /Users/your.username/.ssh/id_rsa (/Users/your.username/.ssh/id_rsa)

Relevanter Auszug aus SSH-ADD(1) , der mit man ssh-add aufgerufen wurde :

-K Beim Hinzufügen von Identitäten wird jede Passphrase auch in Ihrem Schlüsselbund gespeichert. Beim Entfernen von Identitäten mit -d wird jede Passphrase aus Ihrem Schlüsselbund entfernt.

INFOSEC-HINWEIS : Ihr Passwort wird nicht in der Shell angezeigt, sondern allen laufenden Anwendungen über die Zwischenablage angezeigt. Eine Autotype-Lösung wäre sicherer.

Sie können ein Skript wie dieses im AppleScript Editor ausführen:

tell application "System Events" to tell process "SecurityAgent"
    set value of text field 2 of scroll area 1 of group 1 of window 1 to "pa55word"
    click button 2 of group 2 of window 1
end tell
danke, das wird für die Dialoge "verschlüsselte Festplatten" helfen. Aber warum hat Apple dieses Feld zum Einfügen deaktiviert???
Praktisch, aber ja, glauben Sie nicht, dass dies das PKCS # 8-Problem löst, bei dem selbst wenn Sie das richtige Passwort eingeben, eine schlechte Passphrase angezeigt wird.
Macht keinen Sinn. Jetzt ist Ihr streng geheimes Passwort für alle offen. Aus diesem Grund verwendet der TS einen Passwortmanager, um seine Passwörter zu zentralisieren und hochgradig zu schützen.
Funktioniert nicht bei El Capitan. Zuerst wird der Skripteditor aufgefordert, die Assistive Control System Events got an error: Script Editor is not allowed assistive access.Once zu erhalten, die unter Systemeinstellungen | zulässig ist Sicherheit & Datenschutz verstehe ichSystem Events got an error: Can’t get window 1 of process "SecurityAgent". Invalid index.

Ich hatte das gleiche Problem. Nachdem ich diese Frage gefunden hatte, suchte ich weiter und fand anderswo eine Antwort. Dies ist eine ältere Frage, aber sie hat keine akzeptierten Antworten und steht immer noch ganz oben auf den Suchlisten. (Ich bin mir der Stackexchange-Etikette nicht sicher).

RE kann nicht kopieren/einfügen: Es ist anscheinend beabsichtigt. Die Absicht besteht darin, jeglichen Zugriff auf das Feld aus der Zwischenablage zu verhindern, um zu verhindern, dass ein bösartiges Programm Passwortboxen kratzt. Ich würde denken, dass das Einfügen (und nicht das Ausschneiden) erlaubt sein sollte, aber vielleicht gibt es einen technischen Grund.

Für das ssh-agent-Zeug, ab (mindestens) Yosemite, tut die -KOption in ssh-add -K ~/.ssh/blah, was Sie möchten – geben Sie das Passwort einmal ein, es wird in Ihrem Schlüsselbund gespeichert, und ssh-agent wird transparent für Sie entsperrt. Um zu versuchen, sicherer zu sein, lege ich meine ssh-Passphrasen in einen separaten Schlüsselbund, der sich regelmäßig selbst sperrt.

Gibt es eine Möglichkeit, einen Link zu der gefundenen Antwort zu teilen?

Die Verwendung von brew openssl und openssh behebt das Problem.

brew update
brew install openssl
brew link openssl --force
brew install openssh

# confirm correct bins are being used
# both should be located in /usr/local/bin
which openssl
which openssh

# add key back to keychain
ssh-add ~/.ssh/id_rsa

Ich bin mir nicht sicher, ob die erzwungene Verknüpfung von openssl irgendetwas auf Mavricks kaputt macht. Bisher sind mir keine Probleme aufgefallen.

Es gibt keine (mehr) brewFormel für openssh.
Es gibt brew tap homebrew/dupesjedoch immer noch. Das heißt, diese Schritte schienen dieses Problem für mich nicht zu lösen.
@simple10 Diese Antwort bietet wenig bis gar keinen Wert. Sie sollten mindestens die Version von openssl / openssh bereitstellen, die das Problem behebt. Bitte erläutern Sie außerdem, warum dies der Fall ist.