Я только что установил Ubuntu 13.10, и я собирался добавить свою личность в мой ssh-agent, поэтому я открыл Терминал и сделал это
bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ ssh-add
bjorgvin@buntu:~$ ssh-add -l
The 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 игнорирует файлы идентификации, если они доступны другим.
blockquote>Итак, из-за ошибки
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)