Зачем gnome-keyring-daemon нужен открытый ключ для кэширования ключевой фразы?

8

У меня есть две машины Arch Linux с практически одинаковыми настройками , обе работают /usr/bin/gnome-keyring-daemon --daemonize --login. Они оба имеют один и тот же секретный ключ SSH, но только один из них имеет открытый ключ. На хосте с открытым ключом демон GNOME Keyring работает нормально - я могу SSH на другие машины без каких-либо запросов, как ожидалось. На хосте без открытого ключа GNOME Keyring игнорирует, что я уже ввел ключевую фразу , и мне каждый раз предлагается:

$ ls ~/.ssh/id_rsa.pub
ls: cannot access /home/user/.ssh/id_rsa.pub: No such file or directory
$ ssh some-host exit
Enter passphrase for key '/home/user/.ssh/id_rsa':
$ ssh other-host exit
Enter passphrase for key '/home/user/.ssh/id_rsa':

Он также не отображает личность даже после ввода ключевой фразы:

$ ssh-add -l
The agent has no identities.

После копирования открытого ключа на догадку мне больше не предлагается пароль. После повторного удаления открытого ключа симптом возвращается. Есть ли причина для такого поведения, или это просто ошибка?

l0b0
источник

Ответы:

3

Со страницы документации SSH агента GNOME Keyring :

Агент SSH автоматически загружает файлы в ~ / .ssh с соответствующими парными файлами * .pub. Дополнительные ключи SSH могут быть загружены вручную и управляться с помощью команды ssh-add.

Таким образом, GNOME Keyring будет загружаться, id_rsaтолько если соответствующий id_rsa.pubсуществует.

Вы можете сгенерировать один ssh-keygenиз файла закрытого ключа

ssh-keygen -y -f id_rsa  > id_rsa.pub

Если вы не хотите, чтобы GNOME Keyring загружался id_rsaавтоматически, вы должны удалитьid_rsa.pub

Я не могу найти никаких технических причин, по которым было выбрано это соглашение, но это не ошибка.

hdorio
источник
Спасибо за ссылку. Я не уверен, что согласен, что это не ошибка, хотя.
10
забавный факт, в течение 7 лет такое поведение происходило случайным образом с моими сотрудниками. Сегодня это случилось со мной, и я наконец остановился на странице документа, объясняющей все.
Хдорио