So stellen Sie fest, ob ein öffentlicher SSH-Schlüssel eine Passphrase hat

13

Dies ist wahrscheinlich keine Frage, aber wie kann ich feststellen, ob der öffentliche SSH-Schlüssel, den mir jemand gibt, eine Passphrase hat oder nicht?

Wir haben eine Situation, in der ich keine SSH-Schlüssel für Benutzer generiere, aber ich möchte sicherstellen, dass jeder SSH-Schlüssel, den ich auf einen Server lege, eine Passphrase hat, aber ich habe das Gefühl, dass die Passphrase nur ein Teil des privaten Schlüssels ist.

Vielen Dank!

Peter Sankauskas
quelle

Antworten:

27

Dies können Sie nicht anhand der öffentlichen Hälfte des Schlüssels feststellen. Was kann den Benutzer davon abhalten, es später zu entfernen, selbst wenn Sie es feststellen könnten?

Wenn Sie die Passphrase von der privaten Seite des Schlüssels entfernen, ändert sich die öffentliche Seite nicht.

James F
quelle
7

Sie können nicht feststellen, ob ein privater Schlüssel eine Passphrase hat oder nicht.

James
quelle
3
Genauer gesagt haben öffentliche Schlüssel keine Passphrasen. Dies tun nur private Schlüssel.
Swoogan
-2

Ich denke, dass die Passphrase eine synchrone Verschlüsselung des privaten Schlüssels ist und daher den öffentlichen Schlüssel nicht beeinflusst. Technisch ist keiner der beiden Schlüssel betroffen, da lediglich die Daten des privaten Schlüssels verschlüsselt werden.

Wenn Sie eine Richtlinie zum Erfordernis von Passwörtern haben, möchten Sie möglicherweise auch eine Richtlinie zum Weiterleiten von ssh-agent und agent festlegen, da hier der Socket gespeichert wird, der für den Zugriff auf den ssh-agent-Prozess in / tmp verwendet wird, ohne dass Unix-Dateiberechtigungen für den Schutz erforderlich sind es.

James
quelle
Ich glaube nicht, dass der Schlüssel unverschlüsselt in / tmp gespeichert ist. Ich glaube, es ist im Speicher des ursprünglichen Computers gespeichert, auf dem der Benutzer die Phase eingegeben hat.
James
Entschuldigung, Sie haben Recht, ein unverschlüsselter Schlüssel ist nicht in / tmp gespeichert. Der ssh-agent-Socket ist in / tmp gespeichert, und jeder mit Unix-Berechtigungen für den Zugriff auf diesen Socket kann die Schlüssel verwenden, die ssh-agent für Sie hat. Immer noch ein ziemlich großes Sicherheitsproblem.
James