Гид по технологиям

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

7 min read Безопасность Обновлено 27 Nov 2025
Pass — командный менеджер паролей
Pass — командный менеджер паролей

Быстрые ссылки

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

  • Добавление паролей в хранилище

  • Получение паролей

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

  • Интеграция с Git

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

Терминал с командой pass на тёмном фоне

Pass — это командный парольный менеджер, спроектированный по принципам Unix. Он позволяет управлять паролями через привычные командные утилиты: пароли сохраняются в виде GPG‑зашифрованных текстовых файлов в дереве директорий. Такой подход упрощает резервное копирование, интеграцию с Git и автоматизацию.

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

pass доступен в репозиториях большинства распространённых дистрибутивов Linux и в пакетных менеджерах других ОС. Установите пакет под именем pass через ваш пакетный менеджер, например:

apt

для Ubuntu/Debian или

yum

для Fedora/RHEL. Подробные инструкции по дистрибутивам — на официальном сайте Pass.

Перед началом убедитесь, что у вас есть GPG‑ключ — он нужен для шифрования файлов паролей. Создать новый ключ можно командой:

gpg --full-generate-key

Следуйте подсказкам: рекомендуем использовать тип ключа по умолчанию (RSA и RSA) и увеличить размер ключа до 4096 бит для максимальной совместимости и безопасности. Обязательно запишите идентификатор созданного ключа (ID) — он понадобится дальше.

Инициализация хранилища Pass выполняется командой, где вместо placeholder-gpg-key подставьте ваш GPG‑ID:

pass init placeholder-gpg-key

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

Скриншот вывода команды pass init

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

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

Добавление паролей в хранилище

Добавлять записи просто — используется команда pass insert. Укажите имя сервиса в качестве аргумента, и Pass интерактивно запросит ввод пароля:

pass insert cloudsavvy/example

Pass создаст новый зашифрованный файл /home/you/.password-store/cloudsavvy/example.gpg.

Имена сервисов поддерживают слэши, что позволяет строить иерархию:

pass insert personal/email/gmail

Это создаст цепочку подпапок personal/email внутри .password-store.

Pass также умеет генерировать сильные пароли:

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

Пример выше создаст пароль длиной 32 символа и сохранит его в cloudsavvy/example-generated. По умолчанию генерируются пароли с буквами, цифрами и символами; флаг --no-symbols отключает специальные символы. Чтобы сразу скопировать сгенерированный пароль в буфер обмена, используйте флаг --clip (или -c):

pass generate mysite/new 24 --clip

Примечание: Pass использует утилиты буфера обмена платформы (xclip, wl‑clipboard и т.д.). На некоторых системах нужно установить соответствующий пакет.

Скриншот процесса pass insert в терминале

Скриншот вывода команды pass generate

Получение паролей

Чтобы перечислить все записи, выполните pass без аргументов:

pass

Скриншот списка записей pass

Чтобы получить значение пароля, передайте имя записи:

pass cloudsavvy/example

По умолчанию Pass выводит пароль в терминал; чтобы скопировать его в буфер обмена на 45 секунд, используйте --clip или -c:

pass -c cloudsavvy/example

После вызова с --clip буфер автоматически очищается через 45 секунд, что уменьшает риск утечки данных.

Удаление и редактирование записей:

pass rm cloudsavvy/example
pass edit cloudsavvy/example

pass edit откроет файл пароля в текстовом редакторе по умолчанию (переменная EDITOR). При любом взаимодействии с паролями система запросит разблокировку вашего GPG‑ключа — это выступает в роли «мастер‑ключа» для всего хранилища.

Скриншот получения пароля командой pass

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

Поскольку пароли — обычные текстовые файлы, вы можете хранить дополнительные строки данных: например, резервные коды двухфакторной аутентификации, URL, заметки или JSON‑метаданные.

Правило: первая строка файла должна содержать сам пароль без префиксов. Остальные строки используются для доп. данных.

Откройте запись в редакторе:

pass edit personal/2fa/github

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

pass insert -m personal/2fa/backup

Нажмите Ctrl+D после ввода, чтобы сохранить.

Скриншот pass insert с вводом нескольких строк

Интеграция с Git

Pass включает встроенную поддержку Git для версионирования хранилища. Инициализируйте Git в хранилище командой:

pass git init

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

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

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

Рекомендации по использованию Git с Pass:

  • Заводите отдельный удалённый репозиторий для паролей, не смешивайте его с кодом.
  • Настройте доступ по SSH и двухфакторную аутентификацию на сервере Git.
  • Регулярно проверяйте историю на наличие удалённых секретов (в случае компрометации ключей).
  • Рассмотрите использование branch‑strategies для сотрудничества (см. секцию «Для команд»).

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

Pass создаёт простую файловую структуру, что облегчает интеграцию:

  • Есть импортеры/экспортеры для популярных менеджеров (1Password, KeePass, LastPass).
  • Клиенты для Android/iOS/Windows позволяют синхронизировать локально или через Git.
  • Для быстрых GUI‑взаимодействий в X11/Wayland используются проекты вроде passmenu (интеграция с dmenu/rofi).
  • Скрипты автоматизации позволяют вытягивать пароли внутри CI/CD или локальных инструментов.

Полный список проектов см. на сайте Pass — там же есть инструкции по миграции из других менеджеров.

Когда Pass не подходит

  • Для пользователей, которым нужна простая графическая оболочка без работы с терминалом.
  • Когда необходима централизованная корпоративная политика доступа и ролей («роли» и делегирование) — лучше рассмотреть SaaS‑решения с управлением учётными записями.
  • Для сценариев с коллективным доступом без отдельного секрета GPG: Pass требует обмена публичных ключей и надёжного управления приватными ключами.

Альтернативные подходы

  • KeePassXC — локальное хранилище с GUI и файлами .kdbx.
  • Bitwarden — бесплатный и платный SaaS с клиентами для всех платформ.
  • 1Password — коммерческое решение с корпоративными функциями.

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

Модель мышления и рекомендации

Ментальная модель: представьте дерево каталогов, где каждый файл — отдельный зашифрованный «замочек». GPG‑ключ — это единственный ключ от всех замков. Git — журнал изменений, не раскрывающий содержимого.

Эвристики:

  • Разделяйте личные и рабочие пароли в разных поддиректориях или хранилищах.
  • Используйте подпапки для сервисов (например, work/aws/ или personal/finance/).
  • Для сгенерированных сервисных паролей используйте отдельную запись и помечайте в многострочной части цель и дату создания.

Чек‑листы по ролям

Администратор:

  • Установить pass и GPG на целевые машины.
  • Создать ключи для сервисных аккаунтов.
  • Настроить удалённый Git‑репозиторий и права доступа.
  • Документировать процедуру восстановления ключей.

Разработчик:

  • Установить pass, xclip/wl‑clipboard для работы с буфером.
  • Использовать pass generate для создания сильных паролей.
  • Добавлять записи в иерархию проекта (например, project/service/database).

Обычный пользователь:

  • Создать личный GPG‑ключ и инициализировать pass.
  • Сохранять важные пароли в многострочных записях.
  • Настроить автоматическое резервное копирование .password-store.

Руководство по безопасности и жёсткая настройка

  • Используйте ключи RSA 4096 или ECC‑ключи с современными кривыми (если ваша среда поддерживает ECC).
  • Храните приватные ключи в аппаратных токенах (YubiKey/смарт‑карты) для дополнительной защиты.
  • Настройте gpg-agent и pinentry для безопасного ввода фраз.
  • Включите автоматическое удаление паролей из буфера (Pass делает это по умолчанию, 45 сек) и проверяйте наличие локальных утилит очистки.
  • Регулярно производите экспорт публичных ключей для резервного копирования, приватные ключи экспортируйте только в защищённую офлайн‑среду.

План миграции и бэкапы

  1. Создайте экспорт из старого менеджера (CSV/JSON/формат экспорта).
  2. Преобразуйте файл в структуру, совместимую с Pass (существуют скрипты‑импортёры).
  3. Импортируйте в локальное .password-store и проверяйте корректность многострочных записей.
  4. Инициализируйте Git и сделайте начальный коммит.
  5. Создайте зашифрованную офлайн‑копию приватного GPG‑ключа и храните её отдельно.

Шаблон быстрого реагирования при утечке (runbook)

  • Оценить: какие GPG‑ключи могли быть скомпрометированы и какие записи раскрыты.
  • Отозвать/сменить приватные ключи: сгенерировать новые ключи,ный и обновить все записи.
  • Обновить записи паролей: сгенерировать новые пароли для сервисов, сменить пароли на сервисах.
  • Синхронизировать изменения через Git и оповестить команду.

Полезный набор команд (cheat sheet)

# Инициализация
pass init 

# Добавить интерактивно
pass insert personal/email/gmail

# Многострочный ввод
pass insert -m personal/2fa/backup

# Сгенерировать и скопировать в буфер
pass generate mysite/pass 24 --clip

# Получить и вывести
pass mysite/pass

# Скопировать в буфер
pass -c mysite/pass

# Удалить
pass rm mysite/pass

# Git в хранилище
pass git init
pass git remote add origin user@server:/passwords.git
pass git push -u origin master

Когда Pass лучше, а когда хуже

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

Краткое резюме

  • Pass — лёгкий, прозрачный и скриптуемый инструмент, который хранит каждую запись как GPG‑файл.
  • Требуется базовое понимание GPG и работы в терминале.
  • Интеграция с Git даёт простую модель бэкапа и синхронизации.
  • Для командной работы потребуются дополнительные договорённости по управлению ключами.

Важно: никогда не размещайте приватные GPG‑ключи вместе с .password-store в одном публичном репозитории.

Критерии приёмки

  • Возможность инициализировать хранилище и добавить первую запись.
  • Успешное извлечение пароля и копирование в буфер.
  • Наличие рабочего бэкапа Git и документации по восстановлению ключей.

Подсказка для социальных сетей (Open Graph)

  • OG title и описание указаны в метаданных JSON; используйте их при публикации.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро