Команда ssh-add не додає мою особу ssh-агенту


20

Я щойно встановив ubuntu 13.10, і я збирався додати свою особу своєму ssh-агенту, щоб я відкрив термінал і зробив це

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:~$ 

якісь ідеї?

Відповіді:


26

Від man ssh-add:

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

Файли посвідчень не повинні читати ніхто, окрім користувача. Зауважте, що ssh-add ігнорує файли ідентичності, якщо вони доступні іншим.

Отже, через The agent has no identities.помилку у вас, ймовірно, немає цих файлів або, можливо, ці файли доступні іншим. Ви можете перевірити їх за допомогою наступної команди:

ls -l ~/.ssh

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

Див. Для man ssh-addотримання додаткової інформації.


правда, у мене немає цих файлів, а значення виходу ssh-addбуло 1, але не 0. Очевидно, є проблема з моїми дозволами, оскільки файли не створені. Будь-яка ідея, як я міг це виправити? каталог ~/.sshіснує (порожній), але він не з’являється, коли я це роблюls -l
bjorgvin

Я виконував цю команду, ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsaщоб людина ssh-keygen допомогла, дякую.
bjorgvin

1
Це підказало імпорту в правильному напрямку для мене. У мене було кілька ключів ssh і спочатку довелося додати належний ключ за допомогою ssh-add <keyname>. Тоді це спрацювало як шарм. thx
paulroho

3
Чомусь у мене не було результатів під час запуску ssh-addпісля введення парольної фрази (це не вдалося згідно з $?виведенням 1. Я намагався chmod 600 ~/.ssh/id_rsa* не пощастило. Я створив новий ключ з нуля, ssh-keygenа потім він спрацював. Сумно, але принаймні це ОК зараз (несправний ключ був згенерований за допомогою ssh-keygen -t rsa -b 4096 -C "your_email@example.com", я працював ssh-keygenзамість цього разу)
GabLeRoux

1
Мені довелося виконати наступне в цьому порядку: (якщо потрібно, сгенеруйте новий ключ ssh та переконайтесь, що ви додали ключ .pub до github), cd ~/.ssh && ls -lahщоб побачити дозволи читання / запису у папці .ssh, змінити всі клавіші (s) ), chmod 400 myKeyтоді, ssh-add **ABSOLUTE**pathToKey якщо ви не додасте шлях ABSOLUTE , він не працюватиме. Потім, протестуйте йогоssh -vT git@github.com
jungledev

3

На додаток до вищезазначених міркувань, я виявив, що якщо ви використовуєте альтернативну оболонку, вам може знадобитися налаштувати її для завантаження ssh-агента. Наприклад, в 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-agent до .zshrc за допомогою інструкцій тут: github.com/robbyrussell/oh-my-zsh/tree/master/plugins/ssh-agent
Карім
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.