Что означает "агент не имеет идентичности"?

Я успешно выполнил эти инструкции от GitHub о том, как создавать ключи SSH, и мое соединение с GitHub является успешным.

Но когда я позже захочу проверить свой SSH-ключ, следуя эти инструкции, я не получаю отпечаток SSH, который я вижу в своих ключах SSH GitHub когда я использую ssh-add -l.

Вместо ключевого отпечатка SSH я получаю сообщение The agent has no identities. Почему? И что это значит?

Ответ 1

Это означает, что вы не добавили ключ к своему агенту. Используйте ssh-add для этого, как показано на шаге 3, часть 2 вашей первой ссылки.

Обратите внимание, что это нужно сделать для каждого экземпляра ssh-agent; таким образом, если вы выходите из системы и снова включаетесь, вам нужно ssh-add снова ввести свой ключ. Аналогично, если вы дважды запустите ssh-agent в двух разных терминальных окнах, у них не будет общих закрытых ключей между ними, поэтому вам нужно будет ssh-add раз в каждом окне (или, лучше, настроить вашу систему в таком способ иметь агент, общий для всех запущенных приложений на рабочем столе).

Современные среды рабочего стола, как правило, будут предоставлять вам брандмауэр SSH, поэтому вам не нужно запускать ssh-agent самостоятельно, если ваш агент настроен так, и предоставленный таким образом экземпляр агента должен быть общим для всего сеанса. Таким образом, gnome-keyring ведет себя так же, как и Apple keychain и KDE Wallet (с включенным ksshaskpass).