Verwenden von PKCS # 8-verschlüsselten privaten Schlüsseln mit ssh-agent


7

Ich richte ein neues Ubuntu-System (12.04.2 LTS) für die Rails-Entwicklung ein und wollte einen verschlüsselten privaten SSH-Schlüssel gemäß diesem Artikel verwenden. Ich kann ein Standard-SSH-Schlüsselpaar mithilfe der Anweisungen auf GitHub einrichten und alles funktioniert einwandfrei. Wenn ich jedoch den Anweisungen im ersten Artikel folge, kann ich mich nicht mehr mit SSH anmelden. Stattdessen wird die Fehlermeldung "Agent hat Fehler beim Signieren zugegeben" angezeigt mit dem Schlüssel. " Ich habe einen Fehler gefunden (Link b / c mit geringer Reputation, # 328127, kann nicht gepostet werden), der möglicherweise damit zusammenhängt. Ich werde nicht nach meiner Passphrase für den privaten Schlüssel gefragt, daher könnte die Tatsache, dass ich den privaten Schlüssel nach der Erstellung geändert habe, das Problem sein. Der Versuch, den neuen Schlüssel nur manuell hinzuzufügen, ssh-addführt dazu, dass der Fehler zweimal zurückgegeben wird. Ich bin mir nicht sicher, wie ich einstellen soll$SSH_AUTH_SOCKauf Null, sonst würde ich das auch versuchen. Jede Hilfe wäre sehr dankbar, danke!


Vielen Dank für Ihre Frage, ich habe genau das gleiche Problem, nachdem ich den Ratschlägen des gleichen Artikels gefolgt bin, den Sie erwähnt haben!
Daniel Miladinov

Antworten:


4

Das Deaktivieren von SSH_AUTH_SOCK ist eine Problemumgehung. Dadurch wird jedoch der ssh-Agent deaktiviert, den einige Benutzer möglicherweise noch verwenden möchten.

Es scheint, dass ssh-agent nichts mit dem privaten Schlüssel signieren kann, da es ihn nicht richtig entschlüsselt, wenn dieser Schlüssel automatisch zum Schlüsselbund hinzugefügt wird.

Wenn man die Standard-Identitätsdatei id_rsa in ~ / .ssh generiert oder einen privaten Schlüssel zusammen mit seinem öffentlichen Schlüssel in ~ / .ssh speichert, fügt ssh-agent dies automatisch seinem Schlüsselbund hinzu. Dabei wird jedoch keine Passphrase abgefragt, der Schlüssel wird nie entschlüsselt.

Die Lösung besteht darin, den Schlüssel manuell hinzuzufügen. Entfernen Sie alle mit pkcs # 8 verschlüsselten Schlüssel mit ssh-add -D vom ssh-agent und verschieben Sie private + öffentliche Schlüsseldateien aus ~ / .ssh. Neustart oder ssh-agent -k, dann verschieben Sie Ihren pkcs # 8-verschlüsselten PRIVATE-Schlüssel zurück nach ~ / .ssh. Mit ssh-add wird man zur Eingabe der Entschlüsselungspassphrase aufgefordert. ssh-agent kann jetzt auf den unverschlüsselten privaten Schlüssel zugreifen und damit Sachen damit signieren.

(über Damon Dransfeld )


1
Gute Antwort, wenn jemand eine ausführlichere Beschreibung wünscht, siehe die folgende Frage
orenyk

0

Entschuldigung für die schnelle Antwort, das $SSH_AUTH_SOCKUpdate hat bei mir funktioniert. Ich habe Anweisungen in einem anderen Bug- Thread gefunden. Falls jemand anderes feststeckt, wird export SSH_AUTH_SOCK=0das Problem durch Eingabe behoben. Ich hoffe, das hilft!


0

Wenn Sie es vorziehen, können Sie auch den GNOME SSH Key Agent durch den von OpenSSH bereitgestellten ersetzen und dann alle Ihre Schlüssel erneut hinzufügen, wie in diesem Artikel beschrieben .

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.