Ошибка ssh-agent / ssh-add: не удалось открыть соединение с вашим агентом аутентификации

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все еще не работает. Есть идеи?
Нойберт
1
не берите в голову - делая sudo bashи затем делая все, что сделало работу. Благодарность!
Нойберт
1
«Эвал ssh-agent» также работает. Мне не нужно было sudo.
Лабиринт
делает eval, а затем ssh-add у меня все еще не работает, есть идеи, почему?
user3226932
3

Вы также можете использовать следующий синтаксис:

ssh-agent sh -c 'ssh-add && echo Do some stuff here.'
kenorb
источник
-1

Я нашел решение:

выполните команду ниже или добавьте в файл .bashrc

exec ssh-agent bash

ssh-add [ключевой путь]

Субрамани Тевар
источник
1
(1) Два решения уже были опубликованы, и одно было принято как правильное. У тебя есть какое-то преимущество перед теми, что были раньше? Пожалуйста, не отвечайте в комментариях; отредактируйте свой ответ, чтобы сделать его более понятным и полным. (2) Вы действительно верите, что это хорошая идея exec bashизнутри .bashrc? Ты пробовал это? Прежде чем сделать это, подумайте о том, что произойдет. (Подсказка: что делает новый процесс bash при запуске?) Если вы решитесь попробовать, вы можете убедиться, что у вас открыто другое окно оболочки.
Скотт