2010-07-04 12 views
8

J'ai lu this article which explained very well how to setup pgp on osx, mais je prévois d'utiliser les clés générées pour la signature des commits git, donc je suppose que je dois transférer les clés à mon autre ordinateur. Est-ce correct? et si oui, comment puis-je transférer les clés?Comment transférer les clés privées et publiques de pgp vers un autre ordinateur?

+0

Quel autre ordinateur? Pourquoi avez-vous besoin de deux ordinateurs pour cela? – igorw

+1

J'ai actuellement 3 comps, un win/mac/ubuntu, et je programme sur chacun d'entre eux, et donc besoin de refs signe en git avec la même signature, donc je suppose que j'ai besoin de transférer les clés pgp, n'est-ce pas? – erikvold

+0

igorw, beaucoup trop? – shieldstroy

Répondre

32

Oui, vous devrez transférer les clés. Mac et Linux fonctionnent de la même manière, en stockant les clés au ~/.gnupg. La meilleure façon de transférer les fichiers utilise scp (partie de ssh):

scp -rp ~/.gnupg othermachine: 

Cependant, vous aurez besoin d'avoir ssh travaillant d'abord.

Leur transfert avec, disons, un lecteur flash USB n'est pas une bonne idée, car votre clé privée sera laissée sur ce lecteur même après avoir supprimé le fichier. Bien qu'il soit protégé par une phrase secrète, si quelqu'un obtenait une copie du fichier de clé, il pourrait lancer une attaque de force brute de longue durée sur sa copie.

Je ne connais pas l'emplacement du répertoire sous Windows. La documentation de gpg dira, et le contenu sera presque certainement le même.

La copie de l'ensemble du trousseau de clés est rapide et facile, mais parfois vous voulez pouvoir déplacer des clés individuelles entre les machines sans écraser l'ensemble du trousseau de clés et perdre les clés qui s'y trouvent déjà. La copie sélective des clés individuelles peut être effectuée avec gpg --export-secret-key et gpg --import. Si vous avez un accès ssh à la machine de destination, vous pouvez le faire avec un tuyau et ne pas besoin de stocker une clé intermédiaire partout:

Si vous êtes sur la machine qui a déjà la clé:

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

Si vous êtes sur la machine qui a besoin de la clé:

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

Si gpg n'est pas dans l'un des endroits par défaut sur la machine distante (par exemple, il est en /opt/local/bin sur un Mac), vous devrez donner son chemin complet à ssh, ou le relier en un lien les endroits standard tels que /usr/local/bin.

Notez que les données transférées sont toujours protégées par le mot de passe, et que la clé aura la même phrase de passe à la destination que celle de la source. Si vous souhaitez avoir des phrases de passe différentes à chaque endroit, vous devez modifier la phrase de passe à la destination ou la modifier temporairement à la source avant de l'exporter. J'avais besoin de partager une clé secrète avec un collègue, afin de lui donner la possibilité de mettre à jour un rapport de paquet Debian que nous gérons tous les deux, mais je ne voulais pas partager ma phrase secrète avec lui. J'ai donc changé le mot de passe en quelque chose de temporaire, lui ai envoyé la clé exportée (par email gpg-encrypted!), Lui ai dit la phrase de passe temporaire et lui ai demandé de définir une nouvelle phrase immédiatement après l'importation de la clé. J'ai ensuite changé la phrase secrète sur ma copie de la clé à ce qu'elle était à l'origine.

+1

"Le transfert avec, disons, un lecteur flash USB n'est pas une bonne idée car votre clé privée sera laissée sur ce lecteur même après avoir supprimé le fichier." Eh bien, si vous êtes * so * paranoïaque, vous pouvez toujours chiffrer les clés avec un chiffrement symétrique pour le transfert. –

+0

Bonne idée! Merci. –

+3

La clé privée est déjà cryptée avec la phrase secrète que vous avez fournie lors de son cryptage. Le cryptage à nouveau ne le rend pas plus sûr. –

-2

Cela dépend du logiciel PGP. Tout ce que vous devez faire est de trouver où se trouvent physiquement les fichiers de vos keyrings et de copier ces fichiers sur le nouvel ordinateur. Ou, exportez vos clés du logiciel PGP et importez-les de l'autre côté.

Questions connexes