La misma tarjeta OpenPGP y la configuración del lector funcionaban bien en Ubuntu 11.04 Natty. Después de actualizar a Ocelet con una instalación limpia, me encontré básicamente con el mismo problema que estechico publicado sobre aquí.
Para resumir las operaciones de lectura de tarjetas, como
gpg --card-status
Ahora solo trabaja con el comando sudo.
Respuesta1
Obtuve información más interesante sobre la solución de este problema. Instalé Ubuntu 10.04.3 LTS en otro sistema y configuré los ajustes de la tarjeta inteligente OpenPGP. Está funcionando correctamente para mi cuenta de usuario no root. Naturalmente, quería comprobar los permisos del dispositivo USB.
En mi cuenta normal, primero ejecuté un gpg --card-edit
para conectar el dispositivo lector de tarjetas USB, luego corrí sudo lsof -c gpg | grep usb
para buscar el archivo del dispositivo. Esto produjo una nota, así que ejecuté sudo gpg --card-edit
y recibí un mensaje de error.
seth@swk:~$ sudo gpg --card-edit
[sudo] password for seth:
gpg: WARNING: unsafe ownership on configuration file `/home/seth/.gnupg/gpg.conf'
gpg: detected reader `SCM SCR 3310 00 00'
gpg: pcsc_connect failed: sharing violation (0x8010000b)
gpg: apdu_send_simple(0) failed: locking failed
Please insert the card and hit return or enter 'c' to cancel: c
gpg: selecting openpgp failed: general error
gpg: OpenPGP card not available: general error
Algo más estaba atascando el lector de tarjetas USB. Averigüemos qué:
sudo lsof | grep usb
Esto produjo la pepita que estaba buscando.
pcscd 2362 root 5u CHR 189,4 0t0 2194 /dev/bus/usb/001/005
Entonces, aparentemente, el servicio pcscd toma el dispositivo lector de tarjetas en nombre del usuario no root y transmite solicitudes de lectura/escritura de gpg a la tarjeta en una configuración OpenPGP configurada correctamente.
Echemos un vistazo a los permisos del archivo del dispositivo.
seth@swk:~$ ls -l /dev/bus/usb/001/005
crw-rw-r-- 1 root root 189, 4 2011-10-18 11:49 /dev/bus/usb/001/005
Bien, ahora creo que me estoy acercando. En el sistema 11.10, recuerdo que el grupo estaba configurado en pcscd y no en root. Parece que el problema podría estar en el paquete pcscd. Intentaré configurar un sistema 11.10 con los mismos permisos e informaré.
ACTUALIZACIÓN: Así que configuré los permisos de usuario y grupo en el dispositivo USB de una instalación nueva de Ocelot 11.10 como root y root. El comando gpg --card-status
aún falla como usuario no root. Supongo que por ahora se trata de un error en el paquete pcscd.
Respuesta2
Tuve un problema similar con Yubikey Neo en Ubuntu 16.04. Después de reiniciar, pude ejecutar el siguiente comando para solucionarlo.
ykpersonalize -m 82
Yubikey tiene muchos documentos sobre lo que hace esto. No sé por qué tuve que volver a poner la tarjeta en este modo o qué podría cambiar los modos. Ni siquiera puedo decirte por qué funcionó. Si alguien sabe por qué esto podría haber funcionado, me encantaría actualizar la respuesta con más detalles.