Eksportuj hasła z menedżera haseł `pass`

9

Używam pass menedżera haseł od około roku i jest niesamowity, ale czasami lubię testować innych menedżerów haseł, a potem potrzebuję hasła z powrotem.

Do tej pory dodawałem je ręcznie, tak jak ich potrzebuję, ale jeśli chcę przeprowadzić migrację do innego menedżera haseł, potrzebuję skryptu, ponieważ nie mam cierpliwości, aby to robić pojedynczo, biorąc pod uwagę, że mam prawie sto (jeśli nie więcej).

Czy to możliwe? Czy istnieje już rozwiązanie?

W ciągu ostatnich kilku miesięcy szukałem rozwiązania z przerwami i nie znalazłem rozwiązania, w którym „po prostu uruchom ten skrypt i wyeksportuj boom”.

Czy istnieje taki skrypt? Jeśli nie, w czym lub gdzie powinienem szukać?

greduan
źródło
@josten Tak, myślę, że mam coś, w którym przejdzie każdy plik, a następnie dostanie hasło i gdzieś je zapisuje. To jeden ze sposobów, aby to zrobić. Ale nie jestem pewien, jak ...
greduan

Odpowiedzi:

10

Możesz to zrobić, jeśli korzystasz z gpg-agent (a hasło jest załadowane), przeglądając pliki w magazynie haseł i zapisując je w osobnym pliku.

Musisz usunąć wiodące katalogi ze ścieżki ( $PASSWORD_STORE_DIR) i .gpgrozszerzenia z każdego z plików w podkatalogach, ale poza tym jest to dość proste:

#!/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
źródło
To z pewnością bardzo proste, zgodnie z tym, co myślałem. :) Po prostu bardzo szybko, jak dodać nazwę pliku przed zawartością każdego pliku, a następnie dwa wiersze między każdym plikiem (w celu rozdzielenia)? Nie jestem zbyt obeznany ze skryptami powłoki.
greduan
BTW powodem, dla którego chcę, jest to, że niektóre hasła (a mianowicie te, które nie zostały zaimportowane z LastPass) nie zawierają żadnych informacji poza samym hasłem, więc kiedy jest ich wiele, nie wiem, po co to hasło.
greduan
@Greduan Zaktualizowano, aby drukować w formacie, o który pytałeś.
jasonwryan