Wie soll ich einen sicheren, persönlichen SSH-Schlüssel verwalten?

14

Ich brauche einen persönlichen SSH-Schlüssel, so dass:

  • Ich kann eine einzelne Datei mit meinem privaten Schlüssel sichern und bei einer Neuinstallation wiederherstellen.
  • Der private Schlüssel wird nirgendwo unverschlüsselt gespeichert, auch nicht in der Datei, die ich gesichert und wiederhergestellt habe, jedoch mit der erforderlichen Ausnahme meines Arbeitsspeichers, während ich ihn verwende.
  • Jemand mit physischem Zugriff auf meinen Computer kann meinen privaten Schlüssel nicht unbedingt verwenden. Ich sollte aufgefordert werden, ein Passwort einzugeben, bevor es funktioniert, vorzugsweise das Passwort für mein Benutzerkonto.
  • Es ist nicht erforderlich, den öffentlichen Schlüssel zu sichern. Ich sollte in der Lage sein, das aus dem privaten Schlüssel zu generieren (aber möglicherweise sind ausreichende Informationen zum Entschlüsseln erforderlich).

Ich weiß, dass es eine Menge Ressourcen gibt, die erklären, wie man SSH-Schlüsselverwaltungstools verwendet. Ich finde sie jedoch recht komplex und konnte meinen privaten Schlüssel bei Neuinstallationen in der Vergangenheit nicht speichern. Daher würde ich gerne einige bewährte Methoden von jemandem hören, der Erfahrung darin hat, genau das zu tun, was ich tun möchte.

Vincent Povirk
quelle

Antworten:

9

Gehen Sie Ihre Punkte durch:

  • Wenn Sie einen SSH-Schlüssel generieren, wird dieser ~/.ssh/als id_rsa(oder id_dsa) gespeichert . Sie können dies von Maschine zu Maschine verschieben, wie Sie möchten.

  • Sie können die Verschlüsselung sicherstellen, indem Sie sie verschlüsseln /home/. Es gibt verschiedene Anleitungen, wie man das im Internet macht, aber (da ich das noch nie selbst gemacht habe) kann ich nicht ehrlich sagen, dass man sich gegenseitig vorschlägt. Das auf UbuntuForums scheint so gut zu sein wie jedes andere. Dies bei einer Neuinstallation zu tun ist einfacher (Sie können es im Installationsprogramm tun), aber es ist nicht erforderlich.

  • Stellen Sie beim Generieren Ihres Schlüsselpaars sicher, dass Sie eine Passphrase festgelegt haben. Dies bedeutet, dass jemand, der Ihren privaten Schlüssel erhält, diesen Token weiterhin benötigt, um ihn zu verwenden.

  • ssh-keygen -egeneriert Ihren öffentlichen Schlüssel-Hash aus Ihrem privaten Schlüssel. Ja, Sie müssen das nicht sichern (obwohl es auch nicht schwierig wäre - es wird gespeichert als ~/.ssh/id_rsa.pub).

Oli
quelle
Gilt das Festlegen einer Passphrase nicht als Verschlüsselung des Schlüssels?
Vincent Povirk
@ Vincent Art, sicher. Ich bin mir nicht sicher, wie paranoid du hier sein willst. Wenn Sie die Wahrscheinlichkeit minimieren möchten, dass jemand anderes den Schlüssel erhält, müssen Sie ihn in eine verschlüsselte Partition stecken. Wenn Sie damit zufrieden sind, dass die Benutzer es erhalten (sofern sie physischen Zugriff haben), es jedoch nicht ohne eine Passphrase verwenden können, können Sie diesen Schritt überspringen.
Oli