Команда 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:~$ 

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

18
задан 17.04.2020, 12:18

2 ответа

Из 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 для получения дополнительной информации.

0
ответ дан 17.04.2020, 12:19
  • 1
    Я выполнил эту команду ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsa так , человек ssh-keygen помог, спасибо. – Steve S. 17.04.2020, 12:19
  • 2
    По некоторым причинам у меня не было вывода при выполнении ssh-add после ввода пароля, (это перестало работать согласно $? returing 1. Я попробовал к chmod 600 ~/.ssh/id_rsa* без удачи. Я генерировал новый ключ с нуля с ssh-keygen, и затем он работал. Печальный, но по крайней мере it' s хорошо теперь (Провальный ключ был сгенерирован с помощью ssh-keygen -t rsa -b 4096 -C "your_email@example.com", я только работал ssh-keygen вместо этого на этот раз). – Shubham Chadokar 17.04.2020, 12:20
  • 3
    Это дало подсказку импорта в правильное направление для меня. Я имел несколько ssh ключей и сначала должен был добавить, что надлежащее ключевое использование ssh-добавляет < keyname>. тогда это работало как спасибо charme. – DEVCNN 17.04.2020, 12:20
  • 4
    верный, я don' t имеют те файлы, и значение выхода ssh-add равнялось 1, но не 0. существует, очевидно, некоторая проблема с моими полномочиями, так как файлы не создаются. Какая-либо идея, как я мог зафиксировать это? каталог ~/.ssh существует (пусто), но он не обнаруживается, когда я делаю ls -l – Shubham Chadokar 17.04.2020, 12:21
  • 5
    Я должен был сделать следующее в этом порядке: (при необходимости генерируйте новый ssh ключ и удостоверьтесь, что добавили .pub ключ к GitHub), тогда cd ~/.ssh && ls -lah, чтобы видеть полномочия чтения-записи в .ssh папке, изменить весь ключ (ключи) с chmod 400 myKey тогда ssh-add **ABSOLUTE**pathToKey, если Вы don' t добавляют АБСОЛЮТНЫЙ путь, это won' t работа. Затем протестируйте его с ssh -vT git@github.com – undefined 17.04.2020, 12:21

В дополнение к вышеупомянутым соображениям я обнаружил, что если вы используете альтернативную оболочку, вам может потребоваться настроить ее для загрузки 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)
0
ответ дан 17.04.2020, 12:19

Теги

Похожие вопросы