GNOME (Español)/Keyring (Español)

From ArchWiki
Estado de la traducción: esta traducción de GNOME/Keyring fue revisada el 2020-12-11. Si existen cambios puede actualizarla o avisar al equipo de traducción.

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.
https://wiki.gnome.org/Projects/Libsecret || libsecret
  • 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.

Nota: En este caso las contraseñas se almacenan sin cifrar.

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
Nota:
  • 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:
Nota: Debe tener el archivo .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.

Nota: En caso de que utilice GNOME 3.24 o anterior en Wayland, gnome-shell sobrescribirá 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.

Instale el paquete libsecret.

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.

Véase también