GNOME (Español)/Keyring (Español)
GNOME Keyring (llavero de GNOME) es "una colección de componentes en GNOME que almacenan secretos, contraseñas, claves, certificados y los ponen a disposición de las aplicaciones".
Instalación
Cuando se utiliza GNOME, gnome-keyring se instala automáticamente como parte del grupo gnome. De lo contrario instale el paquete gnome-keyring. Instale libsecret para permitir que las aplicaciones usen sus llaveros. libgnome-keyring está en desuso, sin embargo, algunas aplicaciones pueden requerirlo.
Las utilidades adicionales relacionadas con el llavero de GNOME incluyen:
- secret-tool — Acceso al llavero de GNOME (y cualquier otro servicio que implemente la API del servicio DBus Secret) desde la línea de órdenes.
- gnome-keyring-query — Proporciona una herramienta simple de línea de órdenes para consultar contraseñas del almacén de contraseñas del llavero de GNOME. (utiliza el obsoleto libgnome-keyring)
- || gnome-keyring-queryAUR
- gkeyring — Consulta contraseñas desde la línea de órdenes. (utiliza el obsoleto libgnome-keyring)
- https://github.com/kparal/gkeyring || gkeyringAUR[enlace roto: package not found], gkeyring-gitAUR[enlace roto: package not found]
Administrar utilizando la GUI
Puede administrar los contenidos del llavero de GNOME utilizando Seahorse. Instálelo con el paquete seahorse.
Es posible dejar la contraseña del llavero de GNOME en blanco o cambiarla. En Seahorse, en el menú desplegable "Ver", seleccione "Por llavero". En la pestaña Contraseñas, pulse con el botón derecho en "Contraseñas: iniciar sesión" y seleccione "Cambiar contraseña". Introduzca la contraseña anterior y deje vacía la nueva contraseña. Se le advertirá sobre el uso de almacenamiento no cifrado; continúe presionando "Usar almacenamiento no seguro".
Utilizando el llavero fuera de GNOME
Sin un gestor de pantalla
Inicio de sesión automático
Si está utilizando el inicio de sesión automático, puede desactivar el gestor de claves configurando una contraseña en blanco en el llavero de inicio de sesión.
Inicio de sesión de consola
Cuando se utiliza el inicio de sesión basado en la consola, el demonio del llavero puede iniciarse mediante PAM o xinitrc. PAM también puede desbloquear el llavero automáticamente al iniciar sesión.
Método PAM
Inicie gnome-keyring-daemon desde /etc/pam.d/login
:
Añada auth optional pam_gnome_keyring.so
al final de la sección auth
y session optional pam_gnome_keyring.so auto_start
al final de la sección session
.
/etc/pam.d/login
#%PAM-1.0 auth required pam_securetty.so auth requisite pam_nologin.so auth include system-local-login auth optional pam_gnome_keyring.so account include system-local-login session include system-local-login session optional pam_gnome_keyring.so auto_start
Para SDDM, el archivo /etc/pam.d/sddm
ya viene con los cambios necesarios.
A continuación, para GDM, añada password optional pam_gnome_keyring.so
al final de /etc/pam.d/passwd
.
/etc/pam.d/passwd
#%PAM-1.0 #password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3 #password required pam_unix.so sha512 shadow use_authtok password required pam_unix.so sha512 shadow nullok password optional pam_gnome_keyring.so
- Para utilizar el desbloqueo automático, se debe configurar la misma contraseña para la cuenta de usuario y el llavero.
- Aún necesitarás el código de abajo en
~/.xinitrc
Para exportar las variables de entorno requeridas.
Método xinitrc
Inicie gnome-keyring-daemon desde xinitrc:
~/.xinitrc
eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh) export SSH_AUTH_SOCK
Véase Xfce#SSH agents para utilizarlo en Xfce.
Con un gestor de pantalla
Cuando se utiliza un gestor de pantalla, el llavero funciona de manera inmediata para la mayoría de los casos. Los siguientes gestores de pantalla desbloquean automáticamente el llavero una vez que inicie sesión:
Inicio de sesión automático
En GDM, el llavero debe ser nombrado como Login (o el equivalente en su idioma) para ser desbloqueado automáticamente. GNOME creará uno automáticamente con el nombre correcto al iniciar la sesión.
GDM puede desbloquear su llavero si coincide con su contraseña LUKS. Para que esto funcione, necesita utilizar la init de systemd en su mkinitcpio.conf así como los parámetros apropiados del kernel. Véase este hilo de Reddit[1].
Aplicaciones de terminal
Para activar el llavero para las aplicaciones que se ejecutan a través del terminal, como SSH, añada lo siguiente a su ~/.bash_profile
, ~/.zshenv
, o similar:
~/.bash_profile
if [ -n "$DESKTOP_SESSION" ];then eval $(gnome-keyring-daemon --start) export SSH_AUTH_SOCK fi
~/.config/fish/config.fish
if test -n "$DESKTOP_SESSION" set -x (gnome-keyring-daemon --start | string split "=") end
Claves SSH
gnome-keyring-daemon con el componente ssh iniciará un agente SSH y cargará automáticamente todas las claves que coincidan con ~/.ssh/id_*
con el correspondiente archivo .pub
. No hay forma de eliminar estas claves del agente.
Para listar todas las claves cargadas:
$ ssh-add -L
Cuando se conecte a un servidor que utiliza una clave cargada con una contraseña, aparecerá un cuadro de diálogo que le pedirá la frase de contraseña. Tiene una opción para desbloquear automáticamente la clave cuando inicia sesión. Si marca esto, ¡no necesitará ingresar su frase de contraseña nuevamente!
Para guardar permanentemente la contraseña en el llavero, utilice ssh-askpass del paquete seahorse:
/usr/lib/seahorse/ssh-askpass my_key
Para añadir manualmente una clave SSH desde otro directorio:
$ ssh-add ~/.private/id_rsa Enter passphrase for ~/.private/id_rsa:
.pub
correspondiente en el mismo directorio que la clave privada (~/.ssh/id_rsa.pub
en el ejemplo). Además, asegúrese de que la clave pública sea el nombre del archivo de la clave privada más .pub
(por ejemplo, mi_clave.pub
).Para desactivar todas las claves añadidas manualmente:
$ ssh-add -D
Iniciar los componentes SSH y Secrets del demonio del llavero
Si está iniciando el llavero de Gnome con un gestor de pantalla o el método Pam descrito anteriormente y NO está utilizando Gnome, Unity o Mate como su escritorio, es posible que los componentes de SSH y Secrets no se inicien automáticamente.
Puede solucionar esto copiando los archivos de escritorio gnome-keyring-ssh.desktop y gnome-keyring-secrets.desktop desde /etc/xdg/autostart/
a ~/.config/autostart/
y eliminando la línea OnlyShowIn.
$ cp /etc/xdg/autostart/{gnome-keyring-secrets.desktop,gnome-keyring-ssh.desktop} ~/.config/autostart/ $ sed -i '/^OnlyShowIn.*$/d' ~/.config/autostart/gnome-keyring-secrets.desktop $ sed -i '/^OnlyShowIn.*$/d' ~/.config/autostart/gnome-keyring-ssh.desktop
Desactivar los componentes del demonio del llavero
Si desea ejecutar un agente SSH alternativo (por ejemplo, ssh-agent o gpg-agent), debe desactivar el componente ssh
del llavero de GNOME.
Para hacerlo de una manera local en una cuenta, copie /etc/xdg/autostart/gnome-keyring-ssh.desktop
a ~/.config/autostart
y luego añada la línea Hidden=true
al archivo copiado. A continuación, cierre la sesión.
SSH_AUTH_SOCK
para apuntar a gnome-keyring sin importar si se está ejecutando o no. Para evitar esto, debe configurar la variable de entorno GSM_SKIP_SSH_AGENT_WORKAROUND antes de iniciar gnome-shell. Una forma de hacer esto es añadiendo la línea GSM_SKIP_SSH_AGENT_WORKAROUND DEFAULT=1
a ~/.pam_environment
.Consejos y trucos
Integración con aplicaciones
Limpiando frases de contraseña
gnome-keyring-daemon -r -d
Esta orden inicia gnome-keyring-daemon, cerrando instancias previamente en ejecución.
Integración con Git
El llavero de GNOME es útil en conjunción con Git cuando se utiliza sobre HTTPS.
Configure Git para utilizar el ayudante:
$ git config --global credential.helper /usr/lib/git-core/git-credential-libsecret
La próxima vez que haga un git push, se le pedirá que desbloquee su llavero, si no lo está ya.
Integración con GnuPG
Algunas aplicaciones que utilizan GnuPG requieren un pinentry-program
para configurarse. Configure lo siguiente para utilizar pinentry de Gnome 3 para el llavero de Gnome para administrar las solicitudes de frase de contraseña.
~/.gnupg/gpg-agent.conf
pinentry-program /usr/bin/pinentry-gnome3
Otra opción es forzar loopback para GPG que debería permitir que se introduzca la contraseña en la aplicación.
Solución de problemas
Las contraseñas no son recordadas
Si recibe una solicitud de contraseña cada vez que inicia sesión y descubre que las contraseñas no se guardan, es posible que deba crear/configurar un llavero predeterminado.
Asegúrese de que el paquete seahorse esté instalado, ábralo ("Contraseñas y claves" en la configuración del sistema) y seleccione Ver > Por llavero.
Si no hay un llavero en la columna izquierda (se marcará con un icono de candado), vaya a Archivo > Nuevo > Llavero de contraseña y asígnele un nombre. Se le pedirá que introduzca una contraseña. Si no le asigna una contraseña al llavero, se desbloqueará automáticamente, incluso cuando se utilice el inicio de sesión automático, pero las contraseñas no se almacenarán de forma segura. Finalmente, pulse con el botón derecho en el llavero que acaba de crear y seleccione "Establecer como predeterminado".
Restableciendo el llavero
Si aparece el error "La contraseña que utiliza para iniciar sesión en su computadora ya no coincide con la de su llavero de inicio de sesión" ("The password you use to login to your computer no longer matches that of your login keyring" en inglés), deberá cambiar la contraseña del llavero. Puede hacer esto utilizando seahorse, haciendo clic derecho en "llavero predeterminado" y seleccionando "Cambiar contraseña".
Alternativamente, puede eliminar "login.keyring" y "user.keystore" de /home/{usuario}/.local/share/keyrings/. Tenga en cuenta que esto eliminará permanentemente todas las claves guardadas. Después de eliminar los archivos, simplemente cierre la sesión y vuelva a iniciarla.