Estoy tratando de copiar mi clave gpg de una máquina a otra.
Sí:
gpg --export ${ID} > public.key gpg --export-secret-key ${ID} > private.key
Mueve los archivos a la nueva máquina y luego:
gpg --import public.key gpg: nyckel [ID]: public key [Name, e-mail] was imported gpg: Total number of treated keys: 1 gpg: imported: 1 (RSA: 1) gpg --allow-secret-key-import private.key sec [?]/[ID] [Creation date] [Name, e-mail] ssb [?]/[SUB-ID] [Creation date]
Todo me parece bien, pero luego:
$ gpg -d [file].gpg gpg: encrypted with 4096-bit RSA-key, id [SUB-ID], created [Creation date] [Name, e-mail] gpg: decryption failed: secret key not accessible
Por tanto, el mensaje de error dice que el archivo se ha cifrado con [SUB-ID], que la importación de la clave secreta parece indicar que se ha importado. [SUB-ID] en ambos mensajes es el mismo).
Así que claramente estoy haciendo algo mal, pero no sé qué.
Responder
Debe agregar --import
a la línea de comando para importar la clave privada. No es necesario que use el --allow-secret-key-import
bandera. Según la página de manual:» Esta es una opción obsoleta y no se usa en ningún lado «.
gpg --import private.key
Comentarios
Respuesta
Lo anterior es solo una respuesta parcial. La respuesta completa es:
gpg --import private.key
-
Dado el KEYID (p. Ej.
FA0339620046E260
) del resultado :gpg --edit-key {KEY} trust quit # enter 5<RETURN> (I trust ultimately) # enter y<RETURN> (Really set this key to ultimate trust - Yes)
-
O utilice el siguiente comando automatizado:
expect -c "spawn gpg --edit-key {KEY} trust quit; send \"5\ry\r\"; expect eof"
Por último, verifique que la clave ahora es de confianza con [ultimate]
en lugar de [unknown]
gpg --list-keys
Comentarios
- Esta debería ser la respuesta aceptada. Mucho más completo.
- ¿Qué hacen estos comandos adicionales?
- @Steiny Hace que la clave sea confiable con [ultimate] en lugar de [unknown]. gpgtools.tenderapp.com/kb/faq/…
Respuesta
Estaba importando desde una copia de seguridad que tenía una versión antigua de gpg. Como la computadora vieja no estaba disponible, sólo la copia de seguridad, no pude exportarla primero. Esto es lo que funcionó para mí.
gpg --import old_home_dir/.gnupg/pubring.gpg gpg --import old_home_dir/.gnupg/secring.gpg
Si quieres poder importar claves secretas sin ingresar la contraseña de inmediato, use la opción --batch
.
Para verificar las claves públicas:
gpg --list-keys
Para verificar las claves secretas:
gpg --list-secret-keys
gpg2 -e -r [ID]
dice " ¿No hay garantía de que esta clave pertenezca al usuario nombrado "? Desearía haberlo incluido en la pregunta original, pero lo noté solo más tarde.