Команда ssh-add не добавляет мою личность в ssh-agent

Я только что установил ubuntu 13.10 и собирался добавить свою личность в свой ssh-агент, поэтому я открыл терминал и сделал это

bjorgvin@buntu:~$ ssh-add -lThe agent has no identities.bjorgvin@buntu:~$ ssh-addbjorgvin@buntu:~$ ssh-add -lThe agent has no identities.bjorgvin@buntu:~$ 

есть какие-нибудь идеи?

От man ssh-add:

ssh-add добавляет идентификаторы закрытого ключа к агенту аутентификации ssh-agent(1). При запуске без аргументов он добавляет файлы ~/.ssh/id_rsa, ~/.ssh/id_dsa, ~/.ssh/id_ecdsa и ~/.ssh/identity.[...]

Идентификационные файлы не должны быть доступны для чтения никому, кроме пользователя. Обратите внимание, что ssh-add игнорирует идентификационные файлы, если они доступны другим пользователям.

Итак, из-за The agent has no identities. ошибка, у вас, вероятно, нет этих файлов или, возможно, эти файлы доступны другим пользователям. Вы можете проверить это с помощью следующей команды:

ls -l ~/.ssh

Кроме того, после того, как вы запустите ssh-add команда, запуск echo $? чтобы увидеть состояние ошибки предыдущей команды. Если статус выхода возвращал 0, команда была выполнена успешно. Если статус выхода вернул ненулевое значение, команда не была выполнена.

Видеть man ssh-add для получения дополнительной информации.

В дополнение к вышеприведенным соображениям я обнаружил, что если вы используете альтернативную оболочку, вам может потребоваться настроить ее для загрузки ssh-agent. Например, в Zsh необходимо добавить ssh-agent к plugins в .zshrc.

Этот метод отлично работает в Ubuntu 17.10 с последней версией Zsh

Другие обнаружили, что с id_ed25519 ключи, rsa работал без плагина. После добавления ssh-agent к ~/.zshrc, перезапустите оболочку с помощью exec "$SHELL" и выполнить: ssh-add ~/.ssh/id_ed25519

Enter passphrase for ~/.ssh/id_ed25519: Identity added: ~/.ssh/id_ed25519 (user@host)

Как говорится в ОП в как:

Я выполнил эту команду ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsa так man ssh-keygen помогло, спасибо.