Pase de encuentro





He estado buscando una tienda de contraseñas que me funcione durante años y recientemente encontré Pass en HackerNews. La idea de almacenar contraseñas en un repositorio de git puede parecer extraña, pero en general no es una mala idea porque:



  • Mantengo un repositorio de git localmente en mi computadora
  • Todas las contraseñas están protegidas por cifrado GPG, por lo que incluso si obtengo acceso SSH a mi computadora, la fuga no afectará la seguridad.


Utilizo -c para copiar / pegar contraseñas. Hay una extensión para el navegador, pero copiar y pegar es más conveniente para mí personalmente. Los problemas de sincronización con el teléfono y todos los dispositivos Linux tampoco valen la pena (porque es solo git).



Comparto con ustedes la traducción de la página de bienvenida del Pase.






La administración de contraseñas debe ser simple y seguir la filosofía de Unix . Al usar pass, cada una de sus contraseñas se encuentra dentro de un archivo gpg cifrado, cuyo nombre es el mismo que el nombre del recurso o sitio web al que está vinculada esta contraseña. Estos archivos cifrados pueden organizarse en jerarquías de carpetas convenientes, copiarse de un medio a otro y, en general, procesarse mediante cualquier utilidad de gestión de archivos de línea de comandos.



Con pass, administrar archivos de contraseñas individuales es extremadamente fácil. Todas las contraseñas se almacenan en ~ / .password-store, y pass proporciona varios comandos convenientes para agregar, editar, generar y recuperar contraseñas. Este es un script de Shell muy corto y simple. Es capaz de poner temporalmente contraseñas en el portapapeles y rastrear cambios de contraseña usando git.



Puede editar el almacén de contraseñas utilizando comandos estándar de shell de Unix junto con los comandos pass. No hay formatos de archivo sofisticados ni nuevos paradigmas que aprender. La finalización de Bash está presente, por lo que puede simplemente presionar Tab para completar rápidamente un nombre o comando, así como sugerencias para zsh y fish, disponibles en la carpeta / complete . La comunidad muy activa de usuarios de pases ha creado muchos clientes y GUI inusuales para diferentes plataformas, así como extensiones para el propio pase.



El pase de los equipos se describe en detalle en la página del manual .



Cómo se usa el almacenamiento de contraseñas



Podemos enumerar todas las contraseñas existentes en la tienda:



zx2c4@laptop ~ $ pass
Password Store
├── Business
│   ├── some-silly-business-site.com
│   └── another-business-site.net
├── Email
│   ├── donenfeld.com
│   └── zx2c4.com
└── France
    ├── bank
    ├── freebox
    └── mobilephone

      
      







También podemos mostrar contraseñas:



zx2c4@laptop ~ $ pass Email/zx2c4.com
sup3rh4x3rizmynam3

      
      





O cópielos al portapapeles:



zx2c4@laptop ~ $ pass -c Email/zx2c4.com
Copied Email/jason@zx2c4.com to clipboard. Will clear in 45 seconds.

      
      





Aparecerá un cuadro de diálogo conveniente para ingresar una contraseña usando un agente gpg estándar (que se puede configurar para mantener una sesión durante varios minutos), ya que todas las contraseñas están encriptadas.



Podemos agregar contraseñas existentes a la tienda usando insertar:



zx2c4@laptop ~ $ pass insert Business/cheese-whiz-factory
Enter password for Business/cheese-whiz-factory: omg so much cheese what am i gonna do

      
      





Esta función también funciona con contraseñas de varias líneas u otros datos utilizando --multiline o -m, y las contraseñas se pueden editar en el editor de texto predeterminado utilizando pass edit pass-name.



La utilidad puede generar nuevas contraseñas usando / dev / urandom:



zx2c4@laptop ~ $ pass generate Email/jasondonenfeld.com 15
The generated password to Email/jasondonenfeld.com is:
$(-QF&Q=IN2nFBx

      
      





Es posible generar contraseñas sin símbolos usando --no-symbols o -n, y copiarlas al portapapeles en lugar de mostrarlas en la consola usando --clip o -c.



Por supuesto, puede eliminar las contraseñas:



zx2c4@laptop ~ $ pass rm Business/cheese-whiz-factory
rm: remove regular file ‘/home/zx2c4/.password-store/Business/cheese-whiz-factory.gpg’? y
removed ‘/home/zx2c4/.password-store/Business/cheese-whiz-factory.gpg’

      
      





Si el repositorio de contraseñas es un repositorio de git, dado que cada manipulación crea una confirmación de git, puede sincronizar el repositorio de contraseñas con pass git push y pass git pull, que llaman a git-push o git-pull en el repositorio.



Puede leer más ejemplos y funciones aquí .



Personalización



Para empezar, hay un comando para inicializar el almacén de contraseñas:



zx2c4@laptop ~ $ pass init "ZX2C4 Password Storage Key"
mkdir: created directory ‘/home/zx2c4/.password-store’
Password store initialized for ZX2C4 Password Storage Key.

      
      





Aquí, la clave de almacenamiento de contraseña ZX2C4 es el ID de la clave GPG. Puede usar su clave GPG estándar, o puede usar una alternativa específicamente para el almacenamiento de contraseñas, como se muestra arriba. Se pueden especificar varias claves GPG para usar pass en un grupo, y diferentes carpetas pueden tener diferentes claves GPG con -p.



Opcionalmente, podemos inicializar el almacén de contraseñas como un repositorio de git:



zx2c4@laptop ~ $ pass git init
Initialized empty Git repository in /home/zx2c4/.password-store/.git/
zx2c4@laptop ~ $ pass git remote add origin kexec.com:pass-store

      
      





Si se inicializa un repositorio de git, pass crea una confirmación dentro de ese repositorio de git cada vez que se manipula el almacén de contraseñas.



Hay un ejemplo más detallado de inicialización en la página de manual .



Descargar pase



La versión actual es 1.7.3.



Ubuntu / Debian



$ sudo apt-get install pass







Fedora / RHEL



$ sudo yum install pass







openSUSE



$ sudo zypper in password-store







Gentoo



# emerge -av pass







Arch



$ pacman -S pass







Macintosh



La bóveda de contraseñas está disponible a través del Administrador de paquetes Homebrew :



$ brew install pass







FreeBSD



# portmaster -d sysutils/password-store







Tarball







El archivo contiene un archivo MAKE general, para el cual un simple comando sudo make install es suficiente.



Repositorio de Git



Puede navegar por el repositorio de git o clonar el repositorio:



$ git clone https://git.zx2c4.com/password-store

      
      





Todos los lanzamientos están etiquetados y etiquetados con 0xA5DE03AE.



Organización de datos



Nombres de usuario, contraseñas, PIN, sitios web, metadatos, etc.



El almacén de contraseñas no requiere ningún esquema o tipo de organización en particular para sus datos, ya que es solo un archivo de texto que puede contener datos arbitrarios. Aunque el caso más común es almacenar una contraseña para cada entrada, algunos usuarios avanzados deciden que les gustaría almacenar en el almacén de contraseñas no solo su propia contraseña, sino también almacenar las respuestas a preguntas de seguridad, URL de sitios web y otra información confidencial. o metadatos. ... Dado que la bóveda de contraseñas no requiere su propio esquema, puede elegir su organización. Hay muchas estructuras válidas.



Un método consiste en utilizar las funciones de paso de varias líneas (--multiline o -m in insert) y almacenar la contraseña en la primera línea del archivo, con información adicional en las líneas siguientes. Por ejemplo, Amazon / bookreader podría verse así:



Yw|ZSNH!}z"6{ym9pI
URL: *.amazon.com/*
Username: AmazonianChicken@example.com
Secret Question 1: What is your childhood best friend's most bizarre superhero fantasy? Oh god, Amazon, it's too awful to say...
Phone Support PIN #: 84719

      
      





Este es el organigrama preferido utilizado por el autor.



Las opciones --clip / -c copian solo la primera línea de dicho archivo en el portapapeles, lo que facilita la recuperación de la contraseña para los formularios de inicio de sesión mientras se almacena información adicional en el mismo archivo.



Otro enfoque es usar carpetas y almacenar cada dato dentro de un archivo en esa carpeta. Por ejemplo, Amazon / bookreader / password contendrá la contraseña del lector dentro del directorio Amazon / bookreader, y Amazon / bookreader / secretquestion1 contendrá la pregunta secreta, Amazon / bookreader / sensitivecode contendrá algo más relacionado con la cuenta del lector, etc. . También puede guardar su contraseña en Amazon / bookreader y datos adicionales en Amazon / bookreader.meta. Y otro enfoque podría ser usar multilínea como se describió anteriormente, pero coloque el patrón de URL en el nombre del archivo, no dentro del archivo.



Con todo, las posibilidades aquí son extremadamente numerosas y hay muchos otros organigramas no mencionados anteriormente; tiene la libertad de elegir lo que mejor se adapte a su flujo de trabajo.



Omitir extensiones



Para facilitar a los usuarios la implementación de una variedad de casos de uso, pass admite extensiones. Las extensiones instaladas en / usr / lib / password-store / extensions (o sus versiones dependientes de la distribución) siempre se incluyen. Y esas extensiones que están instaladas en ~ / .password-store / .extensions / COMMAND.bash están habilitadas si la variable de entorno PASSWORD_STORE_ENABLE_EXTENSIONS es verdadera. Para obtener más información, consulte. En la guía de la página .



La comunidad ha creado muchas de estas extensiones:



  • pass-tomb : administrar el almacenamiento de contraseñas en TOMB
  • pass-update : un proceso simple para actualizar contraseñas
  • pass-import : una herramienta versátil para importar desde otros administradores de contraseñas
  • pass-extension-tail : una forma de imprimir solo el final de un archivo
  • pass-extension-wclip : un complemento para usar wclip en Windows
  • pass-otp : soporte para tokens de contraseña de un solo uso (OTP)




Clientes compatibles



La comunidad de pases ha reunido una lista impresionante de clientes y GUI para varias plataformas:







pass



Para liberar los datos de las contraseñas de las garras de otros administradores de contraseñas (inflados), diferentes usuarios han creado diferentes organizaciones de almacenamiento de contraseñas que funcionan mejor para ellos. Algunos usuarios han proporcionado scripts para ayudar a importar contraseñas de otros programas:









pass fue escrito por Jason A. Donenfeld de zx2c4.com y tiene licencia GPLv2 +.



Contribuir



Este es un proyecto muy activo con un número significativo de participantes . La mejor manera de contribuir al repositorio de contraseñas es unirse a la lista de correo y enviar parches en formato git. También puede unirse a la discusión #pass en Freenode.






Nuestros servidores se pueden utilizar para almacenar cualquier información.

Regístrese usando el enlace de arriba o haciendo clic en el banner y obtenga un 10% de descuento durante el primer mes de alquiler de un servidor de cualquier configuración.






All Articles