Bug 55346

Summary: Не работает ssh-agent "из коробки" в GNOME
Product: Альт Рабочая станция Reporter: Ukropchik <mixask8>
Component: Ошибки работыAssignee: Semen Fomchenkov <armatik>
Status: NEW --- QA Contact: qa-p8 <qa-p8>
Severity: normal    
Priority: P5 CC: antohami, leanid.chaika
Version: 11.0   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
Окно запроса пароля от ключа
none
Автозапуск none

Description Ukropchik 2025-07-25 11:29:24 MSK
Created attachment 19187 [details]
Окно запроса пароля от ключа

Установлена чистая ОС.
Имеются приватные ключи которые были скопированы в папку ~/.ssh
При работе с git эти ключи не используются.

Если попробовать запустить ssh-add, то получим ошибку. В ручном режиме приходится делать:
>eval `ssh-agent -s`
>ssh-add ~/.ssh/<private_key>
Будет запрошен пароль, после чего можно будет работать с git, но только в терминале и до перезагрузки. После перезагрузки необходимо повторить действия.
К примеру, если работать в Emacs и использовать git клиент magit, то он не увидит ключи. Ни смотря на то, что они видны в seahorse.

Проблема в том, что не запущен компонент gnome-keyring.
Для корректной работы хранилища ключей необходимо что бы были запущены следующие процессы:
>/usr/bin/gnome-keyring-daemon --start --components=pkcs11
>/usr/bin/gnome-keyring-daemon --start --components=secrets
>/usr/bin/gnome-keyring-daemon --start --components=ssh
pkcs11 и secrests запущены, они располагаются в /etc/xdg/autostart, а ssh - нет.
Я сделал просто копию pcks11 и заменил имя desktop файла и команду запуска.
Теперь всё отрабатывает так как нужно (и ssh-add работает после перезагрузки). При использовании ключа открывается gnome окно которое запрашивает пароль (не зависимо откуда я делаю, терминал, emacs ...) и где можно  выбрать автоматическую разблокировку ключа при входе в систему.
Теперь голова не болит постоянными вводами пароля.

Дополнительное:
1. В seahorse нельзя добавить приватный ключ не имея при этом публичного. Очень странное поведение. Приходится делать команду:
>sh-keygen -f ~/.ssh/<private_key> -y > ~/.ssh/<public_key.pub>
2. Процессы gnome-keyring не отображаются, во всяком случае через утилиту "Ресурсы" и Emacs я их не увидел, только:
>/usr/bin/gnome-keyring-daemon --daemonize --login
3. Нет понимания что вообще запущено в автозапуске (xdg). Приложения "из коробки" могут только добавить графические приложения или скрипты, а что ещё работает - не ясно.
Comment 1 Ukropchik 2025-07-25 11:31:08 MSK
Created attachment 19188 [details]
Автозапуск

Только стороннее приложение отображает то что в xdg - Startup Configuration
Comment 2 Ukropchik 2025-07-25 18:43:04 MSK
(Ответ для Ukropchik на комментарий #0)
> Создано вложение 19187 [details] [подробности]
> Окно запроса пароля от ключа
> 
> Установлена чистая ОС.
> Имеются приватные ключи которые были скопированы в папку ~/.ssh
> При работе с git эти ключи не используются.
> 
> Если попробовать запустить ssh-add, то получим ошибку. В ручном режиме
> приходится делать:
> >eval `ssh-agent -s`
> >ssh-add ~/.ssh/<private_key>
> Будет запрошен пароль, после чего можно будет работать с git, но только в
> терминале и до перезагрузки. После перезагрузки необходимо повторить
> действия.
> К примеру, если работать в Emacs и использовать git клиент magit, то он не
> увидит ключи. Ни смотря на то, что они видны в seahorse.
> 
> Проблема в том, что не запущен компонент gnome-keyring.
> Для корректной работы хранилища ключей необходимо что бы были запущены
> следующие процессы:
> >/usr/bin/gnome-keyring-daemon --start --components=pkcs11
> >/usr/bin/gnome-keyring-daemon --start --components=secrets
> >/usr/bin/gnome-keyring-daemon --start --components=ssh
> pkcs11 и secrests запущены, они располагаются в /etc/xdg/autostart, а ssh -
> нет.
> Я сделал просто копию pcks11 и заменил имя desktop файла и команду запуска.
> Теперь всё отрабатывает так как нужно (и ssh-add работает после
> перезагрузки). При использовании ключа открывается gnome окно которое
> запрашивает пароль (не зависимо откуда я делаю, терминал, emacs ...) и где
> можно  выбрать автоматическую разблокировку ключа при входе в систему.
> Теперь голова не болит постоянными вводами пароля.
> 
> Дополнительное:
> 1. В seahorse нельзя добавить приватный ключ не имея при этом публичного.
> Очень странное поведение. Приходится делать команду:
> >sh-keygen -f ~/.ssh/<private_key> -y > ~/.ssh/<public_key.pub>
> 2. Процессы gnome-keyring не отображаются, во всяком случае через утилиту
> "Ресурсы" и Emacs я их не увидел, только:
> >/usr/bin/gnome-keyring-daemon --daemonize --login
> 3. Нет понимания что вообще запущено в автозапуске (xdg). Приложения "из
> коробки" могут только добавить графические приложения или скрипты, а что ещё
> работает - не ясно.

Более подробно что было сделано:
Сделал дубликат файла /etc/xdg/autostar/gnome-keyring-pkcs11.desktop и переименовал его в etc/xdg/autostar/gnome-keyring-ssh.desktop
Внутри файла обновил поле Exec на это:
/usr/bin/gnome-keyring-daemon --start --components=ssh

Всё.
Comment 3 leanid 2025-08-28 16:15:49 MSK
Полностью поддерживаю, 
но хочется еще добавить, что для удобства работы с ключами из коробки не хватает установленного пакета:
>sudo epm install pinentry-gnome3
без него не работает gpg2 подписывание в git репозиториях из emacs (magit).
И еще можно запускать сразу все компоненты одной командой через запятую, я про:
>/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh
Возможно так будет удобнее.