pase y gpg: sin clave pública

13

Estoy usando el pase durante bastante tiempo; pero después de exportar mi almacenamiento de claves y claves gpg a otra máquina, veo el siguiente resultado:

$ gpg --list-key
/home/shved/.gnupg/pubring.gpg
------------------------------
pub   2048R/FA829B53 2015-04-28
uid       [ultimate] Yury Shvedov (shved) <[email protected]>
sub   2048R/74270D4A 2015-04-28

Mi clave importada y confiable, pero no utilizable:

pass insert test
Enter password for test: 
Retype password for test: 
gpg: 2048R/FA829B53: skipped: No public key
gpg: [stdin]: encryption failed: No public key
fatal: pathspec '/home/shved/.password-store/test.gpg' did not match any files

¿Qué puedo hacer para volver a usar mi clave?

agitado
fuente

Respuestas:

12

pass usa gnupg2, que no comparte su llavero con gnupg 1.x.

Importe sus claves nuevamente usando gnupg2 en lugar de gnupg. Si ya tiene sus claves en gnupg en la máquina de destino, ejecute:

$ gpg --export-secret-keys > keyfile
$ gpg2 --import keyfile

Después de importar, es posible que deba actualizar la confianza en su clave. Debería ver un Secret key is available.mensaje si la importación se realizó correctamente:

$ gpg2 --edit-key FA829B53
[...]
Secret key is available.

sec  rsa4096/FA829B53
     created: 2015-03-14  expires: 2017-03-13  usage: SC  
     trust: unknown      validity: ultimate
ssb  rsa4096/74270D4A
     created: 2015-03-14  expires: 2017-03-13  usage: E   
[ultimate] (1). Yury Shvedov (shved) <[email protected]>

Ahora actualice la confianza en su clave:

gpg> trust
[...]
Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y
[...]
gpg> save
Łukasz Lis
fuente
pass (al menos la versión 1.6.3) gpgno usa gpg2. Y gpg2 es solo un rediseño. Solo con la versión 2.1 se produjeron algunos cambios (combinando claves públicas y privadas en el llavero público.
Anthon
Eso no es cierto para mi versión (1.6.5). Desde el código fuente: 10 GPG = "gpg" 11 export GPG_TTY = "$ {GPG_TTY: - $ (tty 2> / dev / null)}" 12 que gpg2 &> / dev / null && GPG = "gpg2" 13 [ [-n $ GPG_AGENT_INFO || $ GPG == "gpg2"]] && GPG_OPTS + = ("--batch" "--use-agent") Esto implica que 'pass' usa gpg a menos que gpg2 esté presente en el mismo sistema.
Łukasz Lis
1
por lo tanto, utiliza gpg a menos que gpg2 esté instalado y con el fin de pasar, estos son compatibles, de lo contrario, obtendría problemas horribles si instala gpg2 algún tiempo después de comenzar a usar pass (que no debería en primer lugar, ya que a veces deja datos sin cifrar en su directorio de "almacenamiento").
Anthon
Primero, esto no es lo que argumentó en su primera respuesta. En segundo lugar, no ha respondido a mi punto acerca de que no comparten un llavero. En tercer lugar, solo son compatibles porque ambos pueden descifrar mensajes si se les da una clave secreta adecuada.
Łukasz Lis
7

Línea de salida

gpg: 2048R/FA829B53: skipped: No public key

Muestra una passinicialización incorrecta . Inicializaste passcon el comando pass init 2048R/FA829B53mientras que deberías hacerlo con el comando pass init FA829B53. Para resolver el problema, debe cambiar el contenido del archivo ~/.password-store/.gpg-idde 2048R/FA829B53a FA829B53y confirmar los cambios.

PD

Todos los avisos de @ Łukasz Lis son correctos y usted también debe completarlos. En otro caso, no podrás descifrar el pase:

$ pass -c test

te dará un error: gpg: decryption failed: No secret key

Andriy
fuente
Útil. Puede pasar a (mal) escribir pass init SomethigElseThanFirstStore.
Nikos Alexandris
0

Me di cuenta de esto al crear una nueva tienda y lo inicialicé con una identificación de clave como "2048R / FA829B53", que pensé que era como se hacía en el pasado, y al mirar una copia de seguridad anterior, el .gpg_id es diferente.

Sin embargo, ahora parece que solo se usa el FA829B53, y en las páginas de manual actuales el autor usa su dirección de correo electrónico.

Verificaría el archivo gpg_id, para mí en una tienda nueva es solo el FA829B53 y no hay otras líneas

Gratuito
fuente
0

Verifique si su clave de confianza es la misma en el archivo ~/.password-store/.gpg-id

m3asmi
fuente
Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar una aclaración de un autor, deje un comentario debajo de su publicación. - De la opinión
Kevdog777
de hecho tuve el mismo problema, lo
resuelvo