Для начала нам надо настроить GPG как я писал в прошлой статье. И поднять GitLab, про это я тоже уже рассказывал.
Настройка PASS
Устанавливаем PASS
И единственная команда, которую мы должны выполнить это
pass init
Где `` это идентификатор вашего ключа или 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 и выбираем там наш ключ.
Готово
Теперь мы можем нажать на любой из паролей. Нас попросят ввести пароль и мы увидем все, что мы вводили на компьютере.