Pass менеджер паролей linux

Pass — консольный менеджер паролей

Pass — это небольшой bash-скрипт хранящий пароли в обычных текстовых файлах зашифрованных с помощью GPG. Файлы можно организовывать в директории, при этом имя файла является названием сайта или ресурса для которого файл хранит пароль. Файлы имеют очень простой формат: первая строка содержит только пароль, все остальные строки содержат любые другие данные. Например, файл github.com.gpg может иметь такое содержимое:

md3rTks3!= login: Maria url: https://github.com/login email: maria@example.com 

Указывать поля вида login: и url: именно в таком формате не обязательно, но подобные метаданные позволяют менеджеру паролей автоматически подставлять ваш логин на веб-сайтах.

Очень простой формат файла и организации хранения паролей дает нам большие возможности: мы можем просматривать и редактировать пароли без установленной программы pass (достаточно иметь установленные GnuPG и любой текстовый редактор), мы можем писать свои скрипты для работы с паролями, мы можем хранить все изменения паролей в системе контроля версий git и синхронизировать пароли на разных компьютерах через неё же. Также pass имеет большую поддержку со стороны сообщества: существуют реализации программы для Android и iOS, плагины для веб-браузеров Chrome и Firefox, графические клиенты для Windows, Mac и Linux, расширения для Alfred, dmenu, rofi и Emacs, скрипты для импорта паролей из других приложений.

В этой статье мы рассмотрим именно консольную версию, доступную на сайте https://www.passwordstore.org/

Установка

Установить программу вы можете с помощью пакетного менеджера своего дистрибутива, например:

  • для Ubuntu \ Debian: sudo apt-get install pass
  • для ArchLinux: pacman -S pass
  • для macOS: brew install pass
Читайте также:  Kali linux proxy server

Предварительная настройка

Чтобы использовать программу вам нужен gpg-ключ, которым будут шифроваться файлы с паролями. Если у вас ещё нет своего ключа, то прочтите вот эту статью и создайте его.

Далее пишем в терминале pass init gpg-id , где вместо gpg-id вам необходимо вписать id вашего gpg ключа. Проще всего это сделать нажав Tab после того как вы написали pass init и выбрав один из предложенных автодополнением вариантов.

Эта команда создаст директорию ~/.password-store в которой будут храниться ваши пароли и запомнит каким ключом их шифровать (вы также можете использовать разные gpg ключи для разных поддиректорий, для этого есть флаг -s: pass init -s поддиректория second-gpg-id )

Если вы хотите, чтобы директория с паролями хранилась в git-репозитории, то выполните команду pass git init . После этого при каждом создании\изменении паролей pass будет автоматически делать коммит в репозиторий.

Использование

Чтобы добавить пароль выполите команду pass insert email/your@email.ru и введите пароль который хотите сохранить.

Эта команда создаст поддиректорию email в хранилище паролей, добавит в неё зашифрованый текстовый файл your@email.ru.gpg, в котором сохранит введённый вами пароль.

Если вам нужно по-быстрому сгенерировать пароль, то можете написать pass generate youtube.com 15 . Эта команда сгенерирует новый пароль длинной 15 символов, запишет его в файл youtube.com.gpg и покажет на экране. Если вы добавите опцию -n, то пароль будет состоять только из букв и цифр (без специальных символов), если добавите опцию -c, то пароль сразу будет скопирован в буфер обмена.

Ранее я писал, что в файле может содержаться не только пароль, но и другая текстовая информация (например логин или просто какие-то заметки). Для того что бы записать несколько строк в файл вы можете использовать опции –multiline или -m: pass insert -m web/github.com . Напоминаю: пароль вводится в первой строке, а все остальные данные уже после него на отдельных строках (см. пример в начале статьи). Что бы закончить ввод и сохранить данные нажмите Ctrl+d.

Изменить файл с паролем можно командой pass edit web/github.com . При этом откроется редактор указанный в переменной окружения EDITOR. Этой командой также можно добавлять в хранилище новые пароли, если вам удобнее делать это через текстовый редактор.

Читайте также:  Dragora gnu linux libre

Для удаления файла с паролем используется команда pass rm web/github.com , а для переименования pass mv старое_название новое_название .

Для того чтобы показать пароль на экране просто введите pass web/github.com . При этом, чтобы не вводить длинные названия сайтов, вы можете пользоваться автодополнением bash нажимая клавишу Tab . Используйте флаг -c чтобы сразу скопировать пароль в буфер обмена: pass -с web/github.com .

Посмотреть какие вообще есть записи в хранилище можно просто введя pass (а для просмотра записей в отдельной директории pass имя_директории ).

Вы можете искать файлы по части названия pass find строка_поиска и, более того, вы можете искать внутри всех файлов с паролями pass grep строка_поиска (правда это действие довольно медленное).

Версионирование и синхронизация

Выше я писал, что если вы выполните команду pass git init , то программа создаст внутри хранилища паролей git-репозиторий и будет автоматически коммитить все изменения. А это означает, что из коробки у нас появляется синхроницация паролей на разных компьютерах.

Вы можете использовать любые команды git, написав перед ними слово pass . Это нужно, чтобы перед их вызовом вам не приходилось каждый раз переходить в директорию ~/.password-store.

Добавляем адрес репозитория на вашем сервере pass git remote add origin your-remote-server.com:pass-store .

Забираем с него файлы с паролями pass git pull .

Сохраняем локально добавленные или изменённые пароли на удаленный сервер pass git push .

Заключение

Как видите pass очень простая, но мощная утилита, следующая философии unix. Часто её ругают за то, что названия файлов с паролями хранятся в открытом виде (а они обычно представляют собой названия сайтов на которых вы зарегистрированы). Но лично мне нравится настолько простой формат хранения паролей.

Читайте также:  Как создать gui для linux

Похожие статьи:

Источник

Оцените статью
Adblock
detector