Instalacja pass na innym hoście z wykorzystaniem istniejącego klucza i istniejącej bazy haseł.

Potrzebujesz:

  • klucz GnuPG dla pass
  • zewnętrzne repo, w którym trzymasz ~/.password-store

Lokalnie

Klucz GnuPG używany przez pass jest zapisany w $PASSWORD_STORE_DIR/.gpg-id

$ gpg -K "`cat $PASSWORD_STORE_DIR/.gpg-id`"
sec   ed25519 2021-01-01 [SC] [wygasa: 2051-01-01]
      0123456789ABCDEF0123456789ABCDEF01234567
uid    [   absolutne   ] My Password Storage Key
ssb   cv25519 2021-01-01 [E] [wygasa: 2051-01-01]

Wyeksportuj klucz:

$ gpg --export-secret-keys "`cat $PASSWORD_STORE_DIR/.gpg-id`" >private-key.asc

Przenieś klucz na zdalny host:

$ scp private-key.asc remote:.
private-key.asc                                    100%  489     7.9KB/s   00:00
$ rm private-key.asc

Zdalnie

$ ssh remote

Zaimportuj klucz:

$ gpg --import private-key.asc
gpg: katalog „/home/jdoe/.gnupg” utworzony
gpg: /home/jdoe/.gnupg/trustdb.gpg: baza zaufania utworzona
gpg: klucz 0123456789ABCDEF: klucz publiczny „My Password Storage Key” wczytano do zbioru
gpg: klucz 0123456789ABCDEF: klucz tajny wczytany do zbioru
gpg: Ogółem przetworzonych kluczy: 1
gpg:          dołączono do zbioru: 1
gpg:    tajnych kluczy wczytanych: 1
gpg:      tajnych kluczy dodanych: 1
$ rm private-key.asc

Zainstaluj pass:

% xbps-install -S pass

Domyślnie pass używa ~/.password-store. Jeśli baza haseł ma być przechowywana w innym miejscu, zmień PASSWORD_STORE_DIR:

$ # w aktualnej powłoce
$ export PASSWORD_STORE_DIR=/home/jdoe/.pw
$ # przy każdym logowaniu
$ sed -i '2s/^/export PASSWORD_STORE_DIR=$HOME\/.pw\n/' ~/.bash_profile

Sklonuj bazę haseł z zewnętrznego repozytorium:

$ git clone https://dev.bogus.corp/jdoe/pass .pw
Klonowanie do ".pw"...
Username for 'https://dev.bogus.corp': jdoe
Password for 'https://jdoe@dev.bogus.corp':
remote: Enumerating objects: 2738, done.
remote: Counting objects: 100% (2738/2738), done.
remote: Compressing objects: 100% (2165/2165), done.
remote: Total 2738 (delta 514), reused 1048 (delta 7)
Pobieranie obiektów: 100% (2738/2738), 18.12 MiB | 1.81 MiB/s, gotowe.
Rozwiązywanie delt: 100% (514/514), gotowe.
$ chmod -R u=rwX,g=,o= ~/.pw

More information

Refs