How to set up/manage services on a computer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.9 KiB

install and configure password-manager

First device

install

install:

apt install pass

generate key

This only needs to be done once. You will then put the key in the git repository so it can be used across different devices. First, we will generate a gpg key:

gpg --full-generate-key

initialize pass

Then, we initialize pass with the key we generated, and create a git repository as well:

pass init ${gpg-id:?}
pass git init

The Comment field, if unique, can be used to identify your key instead of having to give the key's fingerprint, so make sure to choose one that is unique and easy to use.

add key

Next, we add our remote to push to:

pass git remote add origin ${remote_url:?}

and sync with git:

pass git push --set-upstream origin master

export keys

We will export our key to a directory in the repository, so we can use the key across different devices.

cd .password-store/
mkdir .keys
cd .keys/
gpg --export --armor ${gpg-id:?} > pubkey.asc
gpg --export-secret-keys --armor ${gpg-id:?} > privkey.asc

Add the keys to the repository and push:

pass git add .keys
pass git commit -m "added keys to repo"
pass git push

If you want, set up auto-sync for your repository.

subsequent devices

install

apt install pass

clone repo

git clone ${repo_url:?}

move:

mv ${repo_dir:?} .password-store

set permissions:

chmod og-rwx .password-store

import keys

cd .password-store/.keys
gpg --import pubkey.asc
gpg --import privkey.asc

Tell GPG you trust the key:

gpg --edit-key ${key_id:?} trust quit

Answer 5 to tell GPG you trust the key ultimately, then y to confirm.

Set Up Auto-sync

We will set up a cron job to synchronize keys with the git server every 15 minutes.

Edit your crontab by running:

crontab -e

Add the job:

*/15 * *   *   *     pass git pull && pass git push