ssh-agent / ssh-add error: не вдалося встановити з'єднання з вашим агентом аутентифікації


20

Я набираю ssh-agentі отримую наступне:

SSH_AUTH_SOCK=/tmp/ssh-GqdeT074HLRJ/agent.4670; export SSH_AUTH_SOCK;
SSH_AGENT_ID=4671; export SSH_AGENT_PID;
echo Agent pid 4671;

Потім я набираю ssh-add privkey.pemі отримую наступне:

Could not open a connection to your authentication agent

Будь-які ідеї щодо того, що я роблю неправильно? Я також намагався додавати sudoперед кожною з цих команд, але отримав майже однаковий вихід.

Відповіді:


30

Ви повинні виконати висновок, з якого ви отримаєте ssh-agent, наприклад:eval $(ssh-agent)

Тоді створюється ваше середовище для ssh-addпідключення до агента.


Я спробував, sudo eval $(ssh-agent)і це сказало sudo: eval: command not found. Я спробував, eval $(sudo ssh-agent)і він сказав, Agent pid 4735а потім, після обох цих, ssh-addвсе ще не працює. Будь-які ідеї?
neubert

1
неважливо - робити sudo bashі потім робити все, що зробило роботу. Спасибі!
neubert

1
"eval ssh-agent" також працює. Судо мені не було потреби.
лабіринт

робити eval, а потім ssh-add все ще не працював для мене, будь-які ідеї чому?
користувач3226932

3

Ви також можете використовувати такий синтаксис:

ssh-agent sh -c 'ssh-add && echo Do some stuff here.'

-1

Я знайшов рішення:

запустіть нижче команду АБО додати у .bashrc файл

exec ssh-agent bash

ssh-add [ключовий шлях]


1
(1) Два рішення вже розміщено, і одне було прийнято як правильне. Чи має ваша перевага перед тими попередніми? Будь ласка, не відповідайте на коментарі; відредагуйте свою відповідь, щоб зробити її більш зрозумілою та повною. (2) Ви дійсно вірите, що це гарна ідея exec bashзсередини .bashrc? Ви пробували? Перш ніж зробити це, добре подумайте, що буде. .
Скотт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.