GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo administrar contraseñas de Linux con el comando pass

La gestión de contraseñas se ha convertido en un tema candente en la última década. Una búsqueda rápida en Google revela varias opciones para seleccionar la herramienta que salvaguardará las cadenas que desbloquean su información personal. Algunas de estas aplicaciones simplemente se ejecutan en su computadora y almacenan sus contraseñas sin conexión en un formato encriptado.
Otras son más ricas en funciones y ofrecen sincronización en línea con múltiples dispositivos, uso compartido de contraseñas, autenticación de dos factores (2FA) y más . Con algunos de estos servicios, la simplicidad de la administración de contraseñas se ha perdido entre el océano de funciones que se ofrecen. No solo eso, sino que gracias a la comodidad de las bóvedas en línea que ofrecen muchos de estos servicios, está perdiendo cierto control sobre sus datos, ya que sus credenciales se sincronizan con servidores fuera de su control.

Hay una alternativa disponible que brinda simplicidad y le brinda control total sobre sus credenciales. Puede proporcionar muchas de las mismas características que obtendrá de un servicio pago, manteniendo su simplicidad. Es de código abierto y está escrito por el mismo autor que creó Wireguard, que recibió grandes elogios de Linus Torvalds antes de que fuera acelerado en el kernel de Linux. Esta alternativa se llama pass que también se conoce como almacén de contraseñas.

[ También puede disfrutar: Administrar usuarios de Linux con el comando passwd ]

La gestión de contraseñas debe ser simple y seguir la filosofía de Unix. Con pass , cada contraseña vive dentro de un archivo encriptado gpg cuyo nombre de archivo es el título del sitio web o recurso que requiere la contraseña. Estos archivos cifrados pueden organizarse en jerarquías de carpetas significativas, copiarse de una computadora a otra y, en general, manipularse mediante utilidades de administración de archivos de línea de comando estándar. --Pass:El administrador de contraseñas estándar de Unix

¿Por qué usar el almacenamiento de contraseñas?

  • Es de código abierto
  • Es fácil de usar
  • Está bien documentado
  • Está basado en CLI, pero hay extensiones GUI disponibles
  • Está encriptado con GnuPG a un nivel de su elección
  • Está completamente bajo tu control. Las contraseñas no se sincronizan con servidores de terceros
  • Su almacén de contraseñas puede permanecer solo en su sistema, o puede sincronizarlo con un repositorio Git privado de su elección (muy recomendable)

Instalación

1. Instala pass :

$ sudo dnf install pass 

2. Si aún no tiene un par de llaves GPG, deberá crear uno:

$ gpg2 --full-generate-key

Seleccione la opción 1 (RSA y RSA) para el tipo de clave.

Please select what kind of key you want:

   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)

Your selection? 1

Seleccione el tamaño de clave deseado. En este ejemplo, elija 4096:

RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 4096
Requested keysize is 4096 bits

Please specify how long the key should be valid.

        0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years

Ahora elige por cuánto tiempo quieres que la clave sea válida, en este ejemplo elige dos años:

Key is valid for? (0) 2y
Key expires at Sat 18 Mar 2023 15:03:38 CET
Is this correct? (y/N) y

Ingrese su nombre completo, dirección de correo electrónico y luego confirme con 'O ' cuando se le solicite.

GnuPG needs to construct a user ID to identify your key.

Real name: John Doe
Email address: [email protected]
Comment: 
You selected this USER-ID:
    "John Doe <[email protected]>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O

Uno de los últimos pasos del proceso de creación de GPG es configurar su contraseña. Asegúrese de utilizar una contraseña segura que contenga mayúsculas, minúsculas y símbolos. Esta será tu contraseña maestra para desbloquear tu pass almacén de datos.

3. Ahora que se creó su clave GPG, deberá enumerar sus claves y tomar nota de la ID de clave secreta (seg):

$ gpg2 --list-secret-keys --keyid-format LONG

sec   4096R/AAAA2222CCCC4444 2021-03-18 [expires: 2023-03-18] uid         John Doe <[email protected]>

4. Con su ID de clave GPG ahora puede iniciar su pass almacén de datos:

$ pass init 'AAAA2222CCCC4444'

mkdir: created directory ‘/home/myhome/.password-store’ Password store initialized for AAAA2222CCCC4444.

5. Ahora puede generar y obtener contraseñas del almacén de contraseñas cifradas con RSA4096. Para generar una nueva contraseña (-c copia al portapapeles después de la creación y 21 especifica una contraseña con una longitud de 21 caracteres):

$ pass generate -c Internet/github.com 21

Obtén una contraseña de la tienda:

$ pass show Internet/github.com
<enter GPG password at prompt>

Pasos adicionales

Una instalación estándar de pass le proporciona un almacén de datos local y seguro para sus credenciales. Sin embargo, hay un par de otras funciones que creo que son importantes para mejorar la usabilidad.

Sincronizar con un repositorio Git

Para fines de redundancia y compartir sus credenciales a través de múltiples dispositivos, recomiendo enfáticamente sincronizar su pass store con un repositorio Git. La buena noticia es que pass ya tiene incorporada la funcionalidad de Git; todo lo que necesita hacer es crear un repositorio remoto e inicializarlo en su tienda de pases. Armado con su repositorio Git remoto, puede continuar e inicializarlo para pass . En el siguiente ejemplo, uso Github, pero recuerda que puedes usar cualquier proveedor de alojamiento de control de versiones o configurar el tuyo propio.

1. Una vez que haya configurado un repositorio privado en su servidor Git remoto, deberá inicializarlo localmente con contraseña repositorio git y agregue el origen remoto:

$ pass git init

Initialized empty Git repository in /home/myhome/.password-store/.git/ [master (root-commit) 998c8fd] Added current contents of password store. 1 file changed, 1 insertion(+)

create mode 100644 .gpg-id

$ pass git remote add origin [email protected]:johndoe/pass-store.git

2. Siempre que su autenticación en el repositorio esté configurada correctamente, puede enviar su tienda de pases al repositorio remoto con el pass git push integrado. comando:

$ pass git push -u --all
                                                                            
Enumerating objects: 14, done.
Counting objects: 100% (14/14), done.
Delta compression using up to 12 threads
Compressing objects: 100% (12/12), done.
Writing objects: 100% (12/12), 2.68 KiB | 913.00 KiB/s, done.
Total 12 (delta 6), reused 0 (delta 0), pack-reused 0
To [email protected]:johndoe/pass-store.git
  212af8c..d1c11c5  master -> master

Rellenar automáticamente los formularios de inicio de sesión web

Hay extensiones disponibles para todos los principales navegadores que le permiten completar automáticamente formularios de inicio de sesión con sus credenciales almacenadas. Deberá instalar el cliente browserpass-native y la extensión del navegador. Consulte las instrucciones para instalar el cliente nativo. Una vez que tanto el cliente nativo como browserpass están instaladas, puede usar el atajo Ctrl-Shift-L para completar automáticamente los formularios de inicio de sesión con las credenciales de su tienda de pases.

Configuración de Chrome

1. Instale la extensión browserpass para Chrome/Chromium.

2. A continuación, compile e instale el cliente nativo del navegador. Es probable que tengas que hacer esto manualmente.

3. Clona el browserpass-native repositorio a su sistema.

4. Si Golang ya está instalado, omita este paso. De lo contrario, instale Golang:

$ sudo dnf install golang

5. cd a donde clonaste el repositorio y ejecuta el siguiente make comandos:

$ make

$ make configure

$ sudo make install 

6. Vaya al browserpass directorio del programa y compile la extensión para su navegador específico. Para Chromium, ejecuta:

$ cd /usr/lib/browserpass/

$ make hosts-chromium-user 

Hay ejemplos de cómo compilarlo para su navegador en particular.

7. Ahora puede usar el browserpass extensión para completar formularios desde su almacén de contraseñas.

Aplicaciones móviles

Hay una aplicación para Android llamada Android-Password-Store y otra para iOS llamada passforios, ambas de código abierto y disponibles en sus respectivas tiendas de aplicaciones. Ambas aplicaciones son compatibles con el autocompletado de formularios y ambas tienen una funcionalidad Git integrada, por lo que es fácil de empujar y extraer de su repositorio de pases remotos.

[ Obtenga este libro electrónico gratuito:Administrar sus clústeres de Kubernetes para principiantes. ]

Resumir

En este artículo te presenté a pass , una herramienta de administración de contraseñas de código abierto que utiliza el software de encriptación GNU Privacy Guard (GPG) probado y verdadero para mantener sus credenciales seguras. El núcleo pass El software permite una gestión de contraseñas sencilla, con la capacidad de ampliar la funcionalidad a través de otras extensiones de código abierto. pass los almacenes de datos son simplemente una colección de archivos cifrados con GPG, por lo que sus credenciales se pueden sincronizar fácilmente entre dispositivos mediante el uso de una herramienta que ya es común entre los administradores de sistemas; Git. Esto le permite decidir dónde se almacenan sus credenciales, ya sea en un repositorio Git privado en un proveedor de alojamiento de control de versiones o incluso en su propio servidor privado virtual.

Con pass usted toma el control total de la administración de su contraseña, sin sacrificar la funcionalidad y manteniendo la simplicidad.


Linux
  1. Cómo administrar la contraseña de la cuenta en Linux

  2. Administrar usuarios de Linux con el comando passwd

  3. Cómo administrar los servicios de Linux con el comando systemctl

  4. Cómo usar el comando ssh-keygen en Linux

  5. ¿Cómo usa expresiones regulares con el comando cp en Linux?

Cómo usar el comando de suspensión de Linux con ejemplos

Cómo usar el comando who en Linux con ejemplos

Cómo administrar sus contraseñas con Enpass en Linux

Cómo pasar la contraseña al comando SSH en Linux

Cómo encontrar archivos con el comando fd en Linux

Cómo manejar contraseñas de cuentas en Linux con el comando passwd