Для начала нам надо настроить GPG как я писал в прошлой статье. И поднять GitLab, про это я тоже уже рассказывал.

Настройка PASS

Устанавливаем PASS

И единственная команда, которую мы должны выполнить это

pass init <key-id>

Где <key-id> это идентификатор вашего ключа или sub-ключа GPG. Если вы не понимаете о чем речь, то вам нужно посмотреть мое видео про GPG.

После чего у нас будет пустая директория ~/.password-store

В этой директории будет лежать скрытый файл .gpg-id в нем будет одна строчка с идентификатором ключа. Именно им и будут шифроваться все ваши пароли.

После чего попробуйте выполнить команду pass insert qweqwe

Вбейте что-нибудь и нажмите CTRL+D. Запись должна сохраниться. Проверьте это командой pass qweqwe.

Я буду синхронизировать свой pass с gitlab. Если вдруг вам интересно как поднять собственный gitlab на digitalocean, то я про это рассказал тут.

GITLAB REPO

Для начала создаем новую репу в GitLab.

Примерно такое окно вы должны увидеть после создания пустого проекта в GitLab.

Настройка GIT

Теперь нам нужно выполнить некоторые настройки гита на локальной машине. Если у вас уже все настроено, то можете пропустить этот шаг

Добавляем имя и имейл

git config --global user.name "user"

git config --global user.email "user@gmail.com"

На всякий случай указываем правильный путь до gpg

git config --global gpg.program gpg2

И тестируем, подписываются ли наши сообщения.

echo "test" | gpg2 --clearsign

Если подписываются, то все ок.

Теперь выбираем, каким ключом будут подписываться наши коммиты

git config --global user.signingkey B2ACAB16

git config --global commit.gpgsign true

Настройка PASS

Инициализируем гит

pass git init

Добавляем тот путь, который нам показал гитлаб

pass git remote add origin git@blabla.com:root/pass.git

Готово.

PUSH

Теперь для того чтобы закачать изменения, пользуемся стандартным методом

git add .

git commit -m "123"

git push -u origin master

ТЕЛЕФОН

Теперь нам надо сделать так, чтобы наши пароли синхронизировались с телефоном

Для этого для начала нам надо поставить приложение Android-Password-Store

Далее нам нужно добавить ключ, которым мы будем шифровать и расшифровывать пароли. Добавляется ключ через приложение OpenKeyChain.

Устанавливаем на телефон оба этих приложения. Желательно это делать через FDroid.

Следующий наш шаг это конвертация нашего ключа GPG в формат *.sec.asc

Во первых, надо посмотрать какой именно sub-ключ используется в pass.

Я думаю вы и так знаете, какой ключ у вас для этого используется. Если не знаете, то просто введите pass qweqwe выскочит окошко в котором будет написано какой именно sub ключ для этого используется.

Далее вводим команду

gpg --list-secret-keys --keyid-format LONG

Нам покажут все наши саб ключи. Нам нужно временно удалить все ключи кроме того, который нам необходим. Для начала, естественно делаем бекап. Как я уже это описывал в статье про GPG.

Вводим команду

gpg --expert --edit-key yourusermane

И далее выбираем все sub-ключи кроме того, который нужен нам командами key 1,  key 2, key 3

И потом нажимаем Enter. Должны появиться звездочки на всех sub-ключах кроме того, который нужен нам.

Далее вводим команду

delkey

У нас должны удалиться все sub-ключи кроме того, который нужен нам.

После того как все удалилось делаем бекап нашего ключа с помощью двух команд.

Первая команда сделает бекап в стандартном формате gpg

gpg -a --export-secret-subkeys yourusername > sub_key_for_pass.gpg

А вот эта команда сделает бекап в формате .sec.asc

gpg -a --export-secret-subkeys yourusername | gpg --armor --symmetric --output my_sub_key_for_pass.sec.asc

Теперь каким-либо способом, который удобен вам мы закачиваем последний файл на смартфон.

Открываем программу OpenKeyChain

И добавляем наш ключ в эту программу.

После того как наш ключ добавлен мы открываем программу Android-Password-Store

И сразу же идем в настройки

SSH KEY

Для начала идем в настройки SSH и генерируем ключ. Далее добавляем его в наш GitLab.

GIT SERVER

Теперь идем в Edit git server settings

Вводим там данные нашего репозитория.

После чего у нас должны повяиться все наши пароли. Но они не будут открываться, так как мы еще не добавили наш GPG ключ.

GPG KEY

Теперь опять идем в настройки Android-Password-Store

Смотрим на раздел "Crypto"

Нажимаем на Select OpenGPG Provider и выбираем там "OpenKeychain"

Далее идем в Select OpenGPG Key ID и выбираем там наш ключ.

Готово

Теперь мы можем нажать на любой из паролей. Нас попросят ввести пароль и мы увидем все, что мы вводили на компьютере