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

Я только что установил 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:~$ 

есть идеи?

4 ответа

Решение

От 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помогло, спасибо.

В моем случае мне пришлось создать /home/ec2-user/.ssh/configфайл с 600разрешение и

      Host * 
  IgnoreUnknown UseKeychain
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile /home/ec2-user/.ssh/[my_private_key]

контент, чтобы заставить ssh работать.

Другие вопросы по тегам