Funciona almacenando contraseñas generadas por máquinas o usuarios en un archivo GPG encriptado. Cada uno de los cuales está organizado en una jerarquía de carpetas con nombre. Se puede manipular a través de otras herramientas de línea de comandos si es necesario, y su contenido se transfiere fácilmente de un sistema a otro. Como se indicó, Pass opera con opciones y argumentos de línea de comandos tradicionales y tiene comandos para agregar, editar, generar y recuperar contraseñas específicas. También tiene características integradas, como la capacidad de cargar contraseñas temporalmente en el portapapeles de su sistema y realizar un seguimiento de los cambios de contraseña mediante el control de versiones como Git. Todas las contraseñas se expanden desde una carpeta raíz creada con la ruta; ~/.password-store y la jerarquía de contraseñas descendentes se expande desde allí. Si lo prefiere, puede interactuar con el almacén de contraseñas utilizando otros comandos de shell Linux/Unix ordinarios. Además, se proporciona la finalización de Bash para que pueda presionar TAB para completar las rutas y los nombres de los archivos (la finalización de Zsh también está disponible).

Paso 1: cree una clave GPG

Para comenzar a usar Pass, primero necesita una clave GPG.

Paso 1: crear una clave GPGPaso 2: crear un certificado de revocaciónPaso 3: instalar PassPaso 4: inicializar PassPaso 5: agregar entradas de contraseñaPaso 6: mostrar y acceder a contraseñasPaso 7: eliminar y editar entradas de contraseñaPaso 8: control de versión de GitPaso 9: variables de entorno de shellPaso 10 – Exportación e importación de claves

Puede crear uno emitiendo el siguiente comando en un terminal Bash de Linux en la mayoría de las distribuciones: Aparecerá el mensaje inicial y se verá así: Elija 1 que habilitará tanto el cifrado como la firma. El siguiente mensaje solicita el tamaño de la clave: Introduzca 2048 para el tamaño de clave. Luego lea el siguiente conjunto de resultados: La mayoría de las personas hacen que sus claves sean válidas hasta el infinito, que es la opción predeterminada. Si hace esto, no olvide revocar la clave cuando ya no la use. Ingrese 0 para infinito, o el tiempo que desee. Su próxima entrada desde aquí debería ser su nombre real: Seguido de su dirección de correo electrónico con la que desea asociar la clave (¡puede agregar más más tarde!): Aquí puede dar a la clave una descripción que se ajuste a su propósito: Esta parte es importante y es la frase de contraseña que usará para abrir/descifrar su clave que se genera. Puedes hacerlo memorable, pero es esencial que siga algunos preceptos para que sea fuerte y se considere “seguro”. Como dice el siguiente mensaje, escriba en el teclado, mueva el mouse y realice algunas acciones que leen/escriben en los discos duros de la máquina. Si esto no es suficiente o no parece actualizarse y completarse después de algún tiempo, abra una nueva sesión de shell y ejecute estos comandos: El proceso ahora debería continuar e incluir la ubicación, el valor y los detalles de su nueva clave. Con la línea principal leyendo: Un paso más que puede completar localmente es configurar su clave como la clave predeterminada ingresando esta línea en su archivo ~/.bashrc: Ahora reinicie el gpg-agent con: Luego obtenga su .bashrc nuevamente a través de:

Paso 2: creación de un certificado de revocación

Se debe generar un certificado de revocación para revocar su clave pública si su clave privada se ve comprometida de alguna manera. Se recomienda crear un certificado de revocación cuando cree su clave. Para crear un certificado de revocación para su clave, ejecute estos dos comandos. Esta primera declaración creará una variable de entorno en Bash que contiene el valor de la clave GPG que acaba de crear. Tenga en cuenta que si tiene otras claves generadas previamente, el valor extraído con este comando puede ser de una clave diferente, esto filtra en la primera clave enumerada por el programa gpg: Ahora creamos el certificado de revocación pasando la variable $GPGKEY que definimos: Introduzca 0 para esta lista de opciones múltiples. Ingrese algo como: “Se usará si/cuando esta clave alguna vez se vea comprometida”. Esto también necesita terminar con una nueva línea. Ahora ingrese la frase de contraseña de su clave El mensaje resultante que se ve aquí significa que creó con éxito su certificado de revocación. Como se indica, haga una copia de seguridad en algún lugar seguro del archivo revoke.asc , en caso de que lo necesite en el futuro para invalidar su clave privada. Se puede encontrar en su directorio de trabajo actual donde ejecutó el comando gpg –output inicial.

Paso 3: instalación del pase

arco linux

Debian/Ubuntu

Paso 4: Pase de inicialización

Después de instalar Pass, debe inicializarlo con su clave GPG de los pasos anteriores. En la misma sesión de shell que antes, use la variable de entorno $GPGKEY y proporciónela a Pass a través del parámetro init : Este mensaje seguirá:

Paso 5: agregar entradas de contraseña

Para agregar una nueva entrada de contraseña a Pass, siga la sintaxis del siguiente fragmento de código: Este ejemplo fue para una entrada de una cuenta de dirección de correo electrónico en una jerarquía descriptiva. El mensaje generado solicita la contraseña que se asociará y almacenará con esta entrada Luego, la contraseña se lee encriptada y se coloca en ~/.password-store . Como los datos almacenados en los archivos cifrados son texto sin formato, puede agregar cualquier otro detalle que vaya con una entrada utilizando el parámetro -m . Esto crea la contraseña con una entrada de varias líneas donde el primer campo suele ser la contraseña y el resto de las líneas son los detalles adicionales, como nombres de usuario, direcciones de correo electrónico, etc. Presione CTRL + D para salir y confirmar la entrada cuando esté en el modo multilínea. Para usar Pass para generar una contraseña para una entrada en su nombre, use la opción generar : El  representa la cantidad de caracteres que desea que tenga la contraseña en total. Reemplácelo con un valor como 16 para que la contraseña sea lo suficientemente larga. Hay algunas otras opciones que puede alternar como -n para excluir símbolos de la contraseña y -c para enviar la contraseña directamente al portapapeles y no imprimirla de forma estándar una vez que se crea.

Paso 6: mostrar y acceder a las contraseñas

La forma más básica y sencilla de mostrar su árbol de jerarquía de contraseñas es ejecutar el programa sin opciones adicionales: Si desea destacar ciertas categorías o secciones del árbol, utilice: Para descifrar y recuperar una contraseña, llame al programa y proporcione la ruta a la contraseña: Ahora deberá ingresar o desbloquear su clave GPG para ver y mostrar la contraseña. En lugar de mostrar la contraseña en el terminal, puede copiarla en el portapapeles durante 45 segundos mediante -c : Lo que da el mensaje a continuación y le permite pegar la contraseña en cualquier sitio web, formulario, etc.:

Paso 7: eliminar y editar entradas de contraseña

Es posible que necesite eliminar contraseñas en el administrador de vez en cuando. Esto se hace con el nombre familiar rm y la ruta al archivo de contraseña que desea eliminar. Para eliminar las carpetas en el proceso de eliminación, incluya -r (recursivamente) en el comando: Normalmente hay un mensaje para asegurarse de que está seguro de que desea eliminar la contraseña, esto se puede eliminar usando -f que es la abreviatura de “forzar”: Para cambiar una contraseña existente y editarla, reemplace rm con editar así:

Paso 8 – Control de versiones de Git

Pass tiene soporte para el seguimiento de Git, lo que sería ideal para repositorios privados de Git, pero también en teoría “seguro” para poner en un servicio público como Github, ya que los archivos, por supuesto, están encriptados con GPG. Dependiendo de la fuerza de su frase de contraseña también. Asegúrese de tener git instalado en su sistema para la siguiente sección:

arco linux

Debian/Ubuntu

Así es como funciona la funcionalidad Git con pass: Inicialice el repositorio a través del paso: Agregue la dirección y el nombre de su repositorio remoto: Configure Git para empujar con estas opciones: Ahora puede agregar, editar, eliminar y hacer cambios y luego enviarlos a su repositorio remoto con:

Paso 9: Variables de entorno de Shell

Aquí hay tres variables que encontré que parecen potencialmente las más útiles, en caso de que alguna vez necesite jugar con su funcionalidad (aunque hay otras). PASSWORD_STORE_DIR Anula el directorio de almacenamiento de contraseña predeterminado. $PASSWORD_STORE_GIT Anula la raíz predeterminada del repositorio de git, lo que es útil si PASSWORD_STORE_DIR se establece temporalmente en un subdirectorio del almacén de contraseñas predeterminado. $PASSWORD_STORE_CLIP_TIME Especifica la cantidad de segundos de espera antes de restaurar el portapapeles, por defecto 45 segundos.

Paso 10: exportar e importar claves

Para transferir y mover una clave GPG de pase a otros sistemas, siga estos pasos para obtener una solución rudimentaria.

Llave pública

Para ver las claves GPG públicas actuales que tiene configuradas y en uso activo: Uno de estos mostrará la identificación y los detalles de su clave de acceso, use el valor de la identificación de la clave para exportar la clave pública a un archivo con: Luego transfiera la pass_public.key generada a su nuevo sistema y use la opción –import para agregarla a GPG. Esto se hace con el comando:

Llave privada

Para ver las claves GPG privadas actuales que tiene configuradas y en uso activo: Al igual que en la sección de clave pública, exporte la clave privada a un archivo con: Luego, transfiera la pass_private.key generada a su nuevo sistema y use la opción –import para agregarla a GPG. Esto se hace con el comando:

Error de confianza

A veces, después de importar la clave a un nuevo sistema, puede recibir un mensaje de error similar a: Que aparece cuando se intenta cifrar un archivo nuevo o editar una entrada Pass existente. Si es así, use GPG para editar la clave. En el tipo de solicitud: Luego, desde las opciones numéricas que se muestran, ingrese un valor adecuado. La opción 5 más alta está bien si sabe que esta clave es definitivamente suya y no una clave potencialmente insegura. La operación que intentaba realizar con Pass ahora debería funcionar, ya que la clave es de confianza. Ingrese quit para salir del aviso de gpg. En una nota final, la comunidad alrededor de Pass ha producido un cliente GUI multiplataforma, una aplicación de Android, una aplicación de iOS, un complemento de Firefox, un cliente de Windows, un script dmenu, integración con OS X e incluso un paquete de emacs. Así que mira estos si suenan interesantes: