Это старая версия документа!
# Pass - отличный консольный менеджер паролей
[Pass](http://zx2c4.com/projects/password-store/) - это консольный менеджер паролей, предназначенный для хранения как самих паролей, так и логинов, а также любых других данных по вашему желанию.
Шифрование всей информации производится с помощью GPG[^1] , запросы паролей осуществляет gpg-agent[^2], за контроль версий и поддержку удаленного репозитория отвечает Git, а сама утилита написана на языке скриптов оболочки.
Вы можете получить доступ к репозиторию Git и файлам Gnupg напрямую, вообще не используя pass
Pass хранит базу паролей в каталоге ``~/.password-store/``, каждый пароль в своем собственном файле. Вы можете создавать в базе новые каталоги и перемещать в них файлы с паролями для более удобного управления. Удаление файла пароля приведет к удалению пароля из базы pass.
Хотя основной идеей Pass является хранение каждого пароля в отдельном файле, вы можете открыть любой из них с помощью текстового редактора, и хранить в нем столько информации, сколько захотите. Каждый файл шифруется ключем gpg, который задается при первоначальной настройке Pass. В результате база данных Pass представляет собой просто папку, заполненную другими папками и зашифрованными файлами.
Кроме того, каталог ``~/.password-store/`` можно разместить к примеру в Dropbox, чтобы иметь возможность работать с ним с любой машины.
## Как это работает
1. Установка из депозитория 2. Далее следует сгенерировать PGP-ключ, если у вас его еще нет: ``` $ gpg2 --gen-key ``` 3. Инициализируем базу pass, указав имя ключа ``` $ pass init 'ИМЯ' ``` 4. Генерация пароля (из 15-ти знаков для сайта example.net) ``` $ pass generate example.net 15 ``` 5. Просмотреть пароль ``` $ pass spy-soft.net ``` 6. Скопировать в буфер обмена ``` $ pass -c spy-soft.net ``` 7. Удалить ``` $ pass rm spy-soft.net ``` 8. Просмотреть всю базу ``` $ pass ```
После каждого изменения базы автоматически вызывается git-add и git-commit и новый файл автоматически добавляется в локальный репозиторий git. Так же pass может загружать файлы в удаленный репозиторий: ``` $ pass git push ```
Для пущего удобства pass можно интегрировать с браузером (Chrome или Firefox), установив для последнего соответствующее расширение.
Для iOS и Android есть совместимые с pass менеджеры паролей. Чтобы воспользоваться ими, необходимо экспортировать ключ, используемый для шифрования базы паролей: ``` $ gpg --export-secret-key -a «ИМЯ» > private.key ``` и вместе с базой паролей перенести их в память устройства.
## Быстрое копирование пароля с помощью dmenu
pass можно легко интегрировать с рабочим столом i3wm и dmenu. Скрипт для dmenu уже существует, и его достаточно всего лишь скачать и повесить на комбинацию клавиш i3: ``` $ cd ~/bin $ wget https://git.zx2c4.com/password-store/plain/contrib/dmenu/passmenu $ chmod +x passmenu ```
В конфиг ``~/.config/i3/config`` добавляем строку: ``` bindsym $mod+p exec passmenu ```
Теперь по нажатию Win + P откроется dmenu с выбором пароля. При выборе пароль будет скопирован в буфер обмена на 45 секунд.
#pass #i3wm #i3 #пароли
[^1]: http://en.wikipedia.org/wiki/GNU_Privacy_Guard [^2]: http://www.gnupg.org/documentation/manuals/gnupg/Invoking-GPG_002dAGENT.html
