Error en la generación de claves GPG: no existe tal archivo o directorio

Error en la generación de claves GPG: no existe tal archivo o directorio

Creo que he leído y probado todas las sugerencias, empezando poresta publicaciónsobre exactamente el mismo tema.

Estoy intentando generar una nueva clave con:

gpg --full-generate-key

y sigue terminando con:

gpg: agent_genkey failed: No such file or directory
Key generation failed: No such file or directory

Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-88-generic x86_64), sin cabeza

gpg --version

gpg (GnuPG) 2.2.4
libgcrypt 1.8.1
Home: /home/mark/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
    CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

Maté gpg-agent y reinicié el servidor varias veces.

gpgconf --kill gpg-agent

ps aux | grep gpg-agent

mark      1637  0.0  0.0  14428  1052 pts/0    S+   13:55   0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn gpg-agent

Los permisos del directorio .gnupg:

drwx------ 3 mark mark 4.0K Mar 6 14:01 .gnupg

Eliminé ~/.gnupg varias veces, reiniciando cada vez por si acaso:

ls -la ~/.gnupg

total 12K
drwx------  3 mark mark 4.0K Mar  6 14:00 .
drwxr-xr-x 17 mark mark 4.0K Mar  6 14:01 ..
drwx------  2 mark mark 4.0K Mar  6 14:00 private-keys-v1.d

He repetido lo siguiente varias veces con el mismo resultado:

Intentando generar la clave gpg

ls -la ~/.gnupg

total 16K
drwx------  3 mark mark 4.0K Mar  6 14:01 .
drwxr-xr-x 17 mark mark 4.0K Mar  6 14:04 ..
drwx------  2 mark mark 4.0K Mar  6 14:00 private-keys-v1.d
-rw-------  1 mark mark   32 Mar  6 14:01 pubring.kbx

Cambié pubring.kbxa 700 y volví a ejecutar, mismo resultado (aferrándome a un clavo ardiendo)

ps aux | grep gpg-agent

 mark      1751  0.0  0.0  93316  3348 ?        SLs  14:02   0:00 /usr/bin/gpg-agent --supervised
 mark      1758  0.0  0.0  14428  1084 pts/0    S+   14:06   0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn gpg-agent

También ejecuté stracepero no estoy seguro de cómo descifrar esa salida. La última línea es+++ exited with 2 +++

strace -o /tmp/foo gpg --full-generate-key

Estoy perdido aquí.

Respuesta1

gpg --gen-key --homedir /home/NEWUSER/.gnupg --passphrase "PASSWORD" --pinentry-mode loopback

Respuesta2

Me encontré con algo que se parecía mucho a esto...

En mi caso fue porque estaba gpg-agentejecutando y había eliminado los archivos a los que hacía referencia para "empezar de nuevo". Matando a los viejos gpg-agentresolví el problema.

Respuesta3

[Publicación cruzada de unpregunta relacionada.]

Eneste problemaesto se denominó comportamiento esperado debido a la falta de propiedad del archivo del dispositivo relacionado con el terminal. Esto puede suceder, por ejemplo, cuando se inicia el terminal como usuario normal, pero se ejecuta el gpgcomando comoraízvía suo sudo.

En lugar de hacer acrobacias salvajes chmoden el /devárbol,este comentariodemuestra una solución rápida usando tmux. Básicamente, simplemente ejecute el mismo gpgcomando dentro de una tmuxsesión, ya que tmuxse encargará de la propiedad adecuada de los archivos del dispositivo.

información relacionada