encryption - gpg - ¿Cómo transferir pgp clave privada y pública a otra computadora?
gpg windows (2)
Leí este artículo que explica muy bien cómo configurar pgp en osx , pero planeo usar las claves generadas para firmar las confirmaciones de git, así que creo que necesito transferir las claves a mi otra computadora. ¿Es esto correcto? Y si es así, ¿cómo hago para transferir las llaves?
Depende del software PGP. Todo lo que necesita hacer es encontrar, donde se encuentran físicamente los archivos de los llaveros, y copiarlos en la nueva computadora. O bien, exporte sus claves desde el software PGP e impórtelas en el otro lado.
Sí, necesitarás transferir las llaves. Mac y Linux funcionan de la misma manera, almacenando las claves en ~/.gnupg
. La forma más segura de transferir los archivos es mediante scp
(parte de ssh):
scp -rp ~/.gnupg othermachine:
Sin embargo, deberás tener a ssh
trabajando primero.
Transferirlos con, digamos, una unidad flash USB no es una gran idea porque su clave privada se quedará en esa unidad incluso después de haber eliminado el archivo. Aunque está protegido por una frase de contraseña, si alguien se apoderó de una copia del archivo de la clave, podría realizar un ataque de fuerza bruta de larga duración en su lugar.
No sé sobre la ubicación del directorio en Windows. La documentación de gpg dirá, y los contenidos casi seguramente serán los mismos.
Copiar todo el anillo de claves es rápido y fácil, pero a veces desea poder mover claves individuales entre máquinas sin sobrescribir todo el anillo de claves y perder las claves que ya están allí. La copia selectiva de teclas individuales se puede hacer con gpg --export-secret-key
y gpg --import
. Si tiene acceso ssh a la máquina de destino, puede hacer esto con una tubería y no necesita almacenar una clave intermedia en ninguna parte:
Si estás en la máquina que ya tiene la clave:
gpg --export-secret-key SOMEKEYID | ssh othermachine gpg --import
Si estás en la máquina que necesita la llave:
ssh othermachine gpg --export-secret-key SOMEKEYID | gpg --import
Si gpg
no está en uno de los lugares predeterminados en la máquina remota (por ejemplo, está en /opt/local/bin
en una Mac), deberá asignar su ruta completa a ssh, o enlazarlo en uno de los lugares estándar tales como /usr/local/bin
.
Tenga en cuenta que los datos que se transfieren todavía están protegidos por la frase de contraseña, y la clave tendrá la misma frase de contraseña en el destino que en la fuente. Si desea tener diferentes frases de contraseña en cada lugar, deberá cambiar la frase de contraseña en el destino o cambiarla temporalmente en la fuente antes de exportarla. Necesitaba compartir una clave secreta con un colega para poder darle la posibilidad de actualizar un paquete de Debian que ambos administramos, pero no quería compartir mi frase de contraseña con él. Así que cambié la frase de contraseña por algo temporal, le envié la clave exportada (¡por correo electrónico cifrado con gpg!), Le dije oralmente la frase de contraseña temporal y le pedí que estableciera una nueva frase de contraseña inmediatamente después de importar la clave. Luego cambié la frase de contraseña en mi copia de la clave de nuevo a lo que era originalmente.