Seahorse — входящее в состав репозитория Astra Linux Common Edition графическое приложение для управления PGP и SSH ключами.
Приложение поддерживает интеграцию с Nautilus, gedit и почтовым клиентом Evolution для защитного преобразования данных.
Также имеется поддержка работы с серверам ключей HKP и LDAP.
Программа основана на GnuPG и распространяется как свободное программное обеспечение под лицензией GNU GPL.
|
Модуль pam-gnome-keyring (пакет libpam-gnome-keyring) позволяет автоматически разблокировать связку ключей "Вход" паролем, который пользователь вводит при входе в систему, что исключает необходимость повторного ввода пароля при запуске приложений. Пароли от других связок ключей могут храниться в связке "Вход", тогда и другие связки разблокируются автоматически.
| Для того, чтобы связка ключей могла быть разблокирована, пароль связки ключей должен совпадать с паролем входа пользователя. |
| Следует помнить, что при использовании совпадающих паролей компрометация пароля входа пользователя ведёт к компрометации всех остальных паролей. |
Пакет libpam-gnome-keyring включен в репозиторий Astra Linux Common Edition, и может быть установлен с помощью графического менеджера пакетов или из командной строки командой:
| apt install libpam-gnome-keyring |
Работа пакета подробно описана в документации разработчика.
Общий порядок работы:
При аутентификации пользователя или при входе в сессию, модуль проверяет наличие переменной окружения GNOME_KEYRING_CONTROL.
Если переменная отсутствует, предполагается, что gnome-keyring-daemon не запущен для этой сессии.
Если указана опция auto_start модель запускает gnome-keyring-daemon.
Если указана опция only_if то опция auto_start отрабатывается только в том случае, если процесс есть в списке.
Например, auto_start only_if=fly_dm запустит gnome-keyring-daemon только для fly_dm.
При завершении этапа если gnome-keyring-daemon был запущен модулем, то демон будет остановлен.
При необходимости, на этом этапе также запускается gnome-keyring-daemon .
В зависимости от задач возможно разное применение модуля. Для вызова модуля при прохождении PAM-стека используются следующие основные варианты:
| Вариант вызова модуля | Типовое размещение | Назначение | Комментарий |
|---|---|---|---|
| password optional pam_gnome_keyring.so | /etc/pam.d/common-password | Обновление пароля связки ключей при смене пароля | Устанавливается автоматически при установке пакета |
| auth optional pam_gnome_keyring.so | /etc/pam.d/common-auth | Получение ранее введенного текущего пароля пользователя и сохранение его для последующего использования. | Эти вызовы должны быть добавлено вручную.Вызовы модуля следует добавить в секцию "The additional". |
| session optional pam_gnome_keyring.so auto_start | /etc/pam.d/common-session | Запуск службы ключей Gnome Keyring. Разблокировка связки ключей с использованием ранее сохраненного пароля пользователя. |
Опции модуля pam_gnome_keyring:
| Опция \ Этап сессии | auth | session | password |
|---|---|---|---|
| auto_start | Запустить демон gnome-keyring, если он еще не запущен. | На этапе password демон запускается всегда, а если опция auto_start не указана - демон будет остановлен после смены пароля. | |
| only_if=список_сервисов | Если PAM-сессия запущена сервисом, не находящимся в списке, PAM-модуль не будет выполнять никаких действий (запуск демона, разблокировка, смена пароля). Пример: only_if=fly_dm | ||
| use_autktok | Игнорируется | Использовать ранее заданный пароль и не запрашивать новый, даже если пароль не задан. | |
Для управления ключами пользователя в состав дистрибутивов Astra Linux включен пакет gnupg.
Пакет устанавливается автоматически при установке системы.
| Возможно, когда вы будете читать эту статью, в составе дистрибутивов будет уже пакет gnupg2, являющийся более новой версией gnupg. |
Основные инструменты пакета gnupg:
Получение ключей с сервера ключей по отпечатку ключа:
| gpg --keyserver keys.gnupg.net --receive-keys 6FB2A1C265FFB764 |
Вывод списка зарегистрированных открытых ключей (по умолчанию - для текущего пользователя):
| gpg --list-keys |
Пример вывода команды:
| $ gpg --list-keys /home/user/.gnupg/pubring.kbx --------------------------- pub rsa2048 2011-03-10 [SC] 972FD88FA0BAFB578D0476DFE1F958385BFE2B6E uid [ неизвестно ] X2go Debian/Ubuntu Packaging <debian@x2go.org> sub rsa2048 2011-03-10 [E] pub rsa4096 2012-05-08 [SC] [ годен до: 2019-05-07] ED6D65271AACF0FF15D123036FB2A1C265FFB764 uid [ неизвестно ] Wheezy Stable Release Key <debian-release@lists.debian.org> |
Удаление открытого ключа:
| gpg --delete-keys debian-release@lists.debian.org |
Пример вывода команды:
| $ gpg --delete-keys debian-release@lists.debian.org gpg (GnuPG) 2.2.12; Copyright (C) 2018 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. pub rsa4096/6FB2A1C265FFB764 2012-05-08 Wheezy Stable Release Key <debian-release@lists.debian.org> Удалить данный ключ из таблицы? (y/N) y |
Для SSH-подключения к другим компьютерам по умолчанию используются приватные ключи, расположенные в файлах ~/.ssh/id_rsa и ~/.ssh/id_dsa. Дополнительные файлы с ключами могут быть указаны в конфигурационном файле ~/.ssh/config параметром IdentityFile. При этом может быть указано несколько ключей, которые будут применяться при подключении в порядке их указания. Например:
Host * IgnoreUnknown UseKeychain UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/github IdentityFile ~/.ssh/gitlab |
Подробную информацию про конфигурационный файл см. man ssh_config.
Для передачи управления ключами службе gnome-keyring:
В переменной окружения SSH_AUTH_SOCK указать каталог $XDG_RUNTIME_DIR/keyring/ssh:
| export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/keyring/ssh |
Чтобы значение переменной устанавливалось автоматически можно указать в файле ~/.bashrc новое значение:
SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/keyring/ssh |
подробнее см. Присвоение значений переменным окружения для пользовательских сессий