Exporte senhas do gerenciador de senhas `pass`

9

Estou usando o pass gerenciador de senhas há mais ou menos um ano, e é incrível, mas às vezes gosto de testar outros gerenciadores de senhas e preciso das minhas senhas de volta.

Até agora, acabei de adicioná-los manualmente conforme necessário, mas se quiser migrar para outro gerenciador de senhas, preciso de um script, porque não tenho paciência para fazê-lo um por um, considerando que tenho quase cem (se não mais).

É possível? Já existe uma solução?

Pesquisei e solucionei uma solução nos últimos dois meses e não consegui encontrar uma em que "apenas execute esse script e exporte o boom".

Existe esse script? Se não, o que ou onde devo procurar para fazer um?

greduan
fonte
@josten Sim, eu acho que tem algo em que apenas passa por todos os arquivos e obtém a senha e a salva em algum lugar. Essa é uma maneira de fazer isso. Mas não sei como ...
greduan

Respostas:

10

Você pode fazer isso se estiver executando o gpg-agent (e sua senha estiver carregada), percorrendo os arquivos em seu armazenamento de senhas e gravando-os em um arquivo separado.

Você precisa remover os diretórios principais do caminho ( $PASSWORD_STORE_DIR) e a .gpgextensão de cada um dos arquivos nos subdiretórios, mas, caso contrário, é direto o suficiente:

#!/usr/bin/env bash
# export passwords to external file

shopt -s nullglob globstar
prefix=${PASSWORD_STORE_DIR:-$HOME/.password-store}

for file in "$prefix"/**/*.gpg; do                           
    file="${file/$prefix//}"
    printf "%s\n" "Name: ${file%.*}" >> exported_passes
    pass "${file%.*}" >> exported_passes
    printf "\n\n" >> exported_passes
done
jasonwryan
fonte
Isso é certamente muito simples, na linha do que eu estava pensando. :) Simplesmente rápido, como você adicionaria o nome do arquivo antes do conteúdo de cada arquivo e depois duas linhas entre cada arquivo (para separação)? Não estou muito familiarizado com scripts de shell.
greduan
Aliás, o motivo pelo qual eu quero isso é porque algumas senhas (ou seja, aquelas que não foram importadas do LastPass) não têm informações sobre elas além da própria senha, portanto, quando há muitas delas, não sei para que serve uma senha.
22614 greduan
@Greduan Atualizado para imprimir no formato que você perguntou.
jasonwryan