2010-07-04 16 views
8

Ich lese this article which explained very well how to setup pgp on osx, aber ich plane, die generierten Schlüssel für die Unterzeichnung von Git-Commits zu verwenden, also denke ich, dass ich die Schlüssel zu meinem anderen Computer übertragen muss. Ist das richtig? und wenn ja, wie gehe ich vor, die Schlüssel zu übertragen?Wie pgp privaten & öffentlichen Schlüssel auf einen anderen Computer übertragen?

+0

Welcher andere Computer? Warum brauchst du zwei Computer dafür? – igorw

+1

Ich habe tatsächlich 3 Comps, ein win/mac/ubuntu, und ich programmiere sie alle, und brauche daher Zeichen refs in git mit der gleichen Signatur, also nehme ich an, dass ich die PGP-Schlüssel übertragen muss, nicht wahr? – erikvold

+0

igorw, neugierig viel? – shieldstroy

Antwort

32

Ja, Sie müssen die Schlüssel übertragen. Mac und Linux funktionieren gleich und speichern die Schlüssel in ~/.gnupg. Der sicherste Weg, um die Dateien zu übertragen verwendet scp (Teil ssh):

scp -rp ~/.gnupg othermachine: 

Allerdings müssen Sie ssh arbeiten zunächst haben.

Übertragen Sie sie mit, sagen wir, ein USB-Flash-Laufwerk ist nicht so eine gute Idee, weil Ihr privater Schlüssel auf dem Laufwerk bleibt, auch nachdem Sie die Datei gelöscht haben. Obwohl es durch eine Passphrase geschützt ist, könnte jemand, der sich eine Kopie der Schlüsseldatei besorgen konnte, einen lang andauernden Brute-Force-Angriff auf seine Schwachstelle starten.

Ich weiß nicht über den Speicherort des Verzeichnisses unter Windows. Die GPG-Dokumentation wird sagen, und die Inhalte werden fast sicher die gleichen sein.

Das Kopieren des gesamten Schlüsselbunds ist schnell und einfach, aber manchmal möchten Sie einzelne Schlüssel zwischen den Maschinen verschieben können, ohne den gesamten Schlüsselring zu überschreiben und die bereits vorhandenen Schlüssel zu verlieren. Das einzelne Kopieren von Schlüsseln kann mit gpg --export-secret-key und gpg --import erfolgen. Wenn Sie den SSH-Zugriff auf die Zielmaschine haben, können Sie diese mit einem Rohr tun und müssen nicht überall einen Zwischenschlüssel speichern:

Wenn Sie auf der Maschine sind, die bereits den Schlüssel hat:

gpg --export-secret-key SOMEKEYID | ssh othermachine gpg --import 

Wenn Sie auf der Maschine sind, die den Schlüssel benötigt:

ssh othermachine gpg --export-secret-key SOMEKEYID | gpg --import 

Wenn gpg nicht in einer der vorgegebenen Stellen auf dem entfernten Rechner ist (zB es ist in /opt/local/bin auf einem Mac) Sie müssen Geben Sie den vollständigen Pfad zu ssh, oder symbolisieren Sie es in eine der Standardplätze wie /usr/local/bin.

Beachten Sie, dass die übertragenen Daten weiterhin durch die Passphrase geschützt sind und der Schlüssel am Zielort dieselbe Passphrase hat wie an der Quelle. Wenn Sie an jedem Ort unterschiedliche Passphrasen haben möchten, müssen Sie die Passphrase am Ziel ändern oder vorübergehend an der Quelle ändern, bevor Sie sie exportieren. Ich musste einen geheimen Schlüssel mit einem Kollegen teilen, um ihm die Möglichkeit zu geben, ein Debian-Paket-Repo zu aktualisieren, das wir beide verwalten, aber ich wollte meine Passphrase nicht mit ihm teilen. Also änderte ich die Passphrase in etwas Temporäres, schickte ihm den exportierten Schlüssel (per gpg-verschlüsselter E-Mail!), Teilte ihm die temporäre Passphrase mündlich mit und bat ihn, sofort nach dem Import des Schlüssels eine neue Passphrase zu setzen. Ich änderte dann die Passphrase auf meiner Kopie des Schlüssels zurück zu dem, was es ursprünglich war.

+1

"Sie mit einem USB-Flash-Laufwerk zu übertragen, ist keine so gute Idee, weil Ihr privater Schlüssel auf diesem Laufwerk zurückbleibt, selbst nachdem Sie die Datei gelöscht haben." Nun, wenn Sie * so * paranoid sind, können Sie die Schlüssel immer mit einer symmetrischen Chiffre für die Übertragung verschlüsseln. –

+0

Gute Idee! Vielen Dank. –

+3

Der private Schlüssel ist bereits mit der Passphrase verschlüsselt, die Sie bei der Verschlüsselung angegeben haben. Durch erneutes Verschlüsseln wird es nicht sicherer. –

-2

Es hängt von der PGP-Software ab. Alles, was Sie tun müssen - ist zu finden, wo Ihre Schlüsselringe Dateien physisch sind, und kopieren Sie diese Dateien auf den neuen Computer. Oder exportieren Sie Ihre Schlüssel aus der PGP-Software und importieren Sie sie auf der anderen Seite.

Verwandte Themen