Поиск по сайту:

Как использовать Pass, менеджер паролей командной строки для систем Linux


Pass — это менеджер паролей командной строки, созданный с учетом философии Unix. Это позволяет вам взаимодействовать с вашими паролями с помощью обычных команд Unix. Учетные данные хранятся в файлах, зашифрованных с помощью GPG.

Получение настройки

pass доступен в менеджерах пакетов большинства популярных дистрибутивов Linux. Попробуйте установить его как pass с помощью подходящего менеджера пакетов, например apt для Ubuntu/Debian или yum для Fedora/RHEL. Конкретные рекомендации для каждого поддерживаемого дистрибутива доступны на веб-сайте Pass.

Прежде чем продолжить, вам понадобится ключ GPG. Ключ будет использоваться для шифрования содержимого вашего хранилища паролей. Вы можете создать новый, используя следующую команду терминала:

gpg --full-generate-key

Следуйте инструкциям, чтобы создать свой ключ, не забывая записывать его идентификатор. Вы должны использовать тип ключа по умолчанию (RSA и RSA), но для максимальной безопасности измените размер ключа на 4096 бит.

Теперь, когда у вас есть ключ GPG, вы готовы инициализировать pass. Выполните следующую команду, заменив placeholder-gpg-id своим собственным идентификатором GPG.

pass init placeholder-gpg-key

В вашей домашней папке будет создан новый каталог .password-store. Pass будет хранить ваши пароли здесь. Для каждого пароля создается отдельный файл, что упрощает резервное копирование учетных данных как по отдельности, так и в массовом порядке.

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

Добавление паролей в магазин

Пароли добавляются в хранилище с помощью команды passinsert. Это принимает имя службы в качестве аргумента и интерактивно предлагает ввести пароль.

Пароль будет сохранен в новом зашифрованном файле внутри вашего магазина. Вы можете создать иерархию учетных данных, используя косую черту в именах служб. Это приведет к созданию дерева подкаталогов в корневом каталоге хранилища паролей.

Pass может генерировать новые пароли для вас. Используйте pass generate, за которым следует имя службы, а затем длина символа для создания. По умолчанию будет создан надежный пароль, состоящий из буквенно-цифровых и специальных символов. Вы можете предотвратить появление специальных символов, используя флаг --no-symbols (-n).

pass generate cloudsavvy/example-generated 32 --no-symbols

Показанная выше команда сгенерирует новый 32-символьный пароль, сохранит его как cloudsavvy/example-generated и отправит на терминал. Вместо этого вы можете скопировать его в буфер обмена, передав флаг --clip (-c).

Восстановление ваших паролей

Чтобы получить список имен всех ваших паролей, запустите команду pass без каких-либо аргументов.

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

Пароль будет отправлен на терминал по умолчанию. Вместо этого вы можете скопировать его в буфер обмена, передав флаг --clip (-c). Данные буфера обмена автоматически очищаются через 45 секунд для обеспечения безопасности.

Пароли удаляются путем передачи имени учетных данных в pass rm (например, pass rm cloudavvy/example). Точно так же вы можете редактировать пароли с помощью pass edit. Файл с паролем будет открыт в вашем текстовом редакторе по умолчанию.

Любое взаимодействие с паролями будет отображать системное приглашение разблокировать ваш ключ GPG. Вам нужно будет ввести парольную фразу вашего ключа, если он защищен. Это действует как главный ключ, защищающий все ваше хранилище паролей.

Многострочные пароли

Поскольку пароли представляют собой обычные текстовые файлы, можно добавить несколько строк данных. Это идеально, когда вам нужно сохранить дополнительные сведения о безопасности, такие как коды восстановления двухфакторной аутентификации.

Используйте команду pass edit, чтобы открыть файл паролей в редакторе. Добавьте дополнительные строки в файл, чтобы прикрепить любые дополнительные метаданные, которые вам нужны. Фактический пароль должен оставаться в первой строке без префикса, чтобы обеспечить его правильное распознавание сокращенными командами буфера обмена Pass.

Вы можете сэкономить время при создании паролей, передав параметр --multiline (-m) команде pass insert. Это позволит вам ввести несколько строк в ваш терминал. Когда закончите, нажмите Ctrl+D, чтобы сохранить учетные данные в вашем магазине.

Git-интеграция

Pass имеет встроенную поддержку Git. Это позволяет вам управлять версиями ваших паролей и предоставляет простой механизм для синхронизации данных между машинами. Запустите pass git init, чтобы добавить Git в хранилище паролей.

Теперь вы можете использовать Pass как обычно. Коммит Git будет создаваться каждый раз при добавлении, изменении или удалении пароля. Вы можете взаимодействовать с репозиторием Git, используя обычные команды Git с префиксом pass git:

pass git remote add origin example-server:/passwords.git
pass git push -u origin master

Предыдущая команда добавляет удаленный репозиторий Git в ваше хранилище паролей. Затем вы можете git поместить свои пароли в него, предоставив вам резервную копию на случай, если вы потеряете доступ к своей текущей машине.

Взаимодействие с другими инструментами

Pass — это преднамеренно минимальное решение. Это намного проще, чем большинство графических менеджеров паролей, поскольку предпочтение отдается файловому подходу, соответствующему принципам Unix. Сильная экосистема сторонних проектов поддерживает ядро Pass, обеспечивая интеграцию с другими приложениями и операционными системами.

Импортеры данных доступны для большинства популярных менеджеров паролей, включая 1Password, Keepass и Lastpass. Совместимые клиентские приложения доступны для Android, iOS и Windows. Пользователи dmenu могут использовать сценарий passmenu для быстрого поиска и выбора паролей, не открывая окно терминала.

На веб-сайте Pass перечислены многие известные проекты сообщества, которые расширяют функциональность инструмента и обеспечивают перенос данных на другие платформы. Вы можете получить дополнительные инструкции по использованию самого Pass на его справочной странице, доступ к которой можно получить, запустив man pass в терминале.