2015-11-05 4 views
0

Я пытаюсь добавить новый ключ ssh. Я начал службу с использованием «SSH-агент -s», и я получаю такой ответ:ssh агент запущен, но не может подключиться к агенту аутентификации

SSH_AUTH_SOCK=/tmp/ssh-tUlzwbxYNLaZ/agent.9516; export SSH_AUTH_SOCK; 
SSH_AGENT_PID=8992; export SSH_AGENT_PID; 
echo Agent pid 8992; 

Но когда я «SSH-добавить ~/.ssh/id_rsa» Я получаю сообщение об ошибке «Не удалось откройте соединение с вашим агентом проверки подлинности ". Не запущена ли команда запуска? Я не уверен, что означает вывод команды запуска.

ответ

1

Вывод, который вы показываете выше, должен быть оценен. Очень часто это делается автоматически, начиная ssh-agent, например eval `ssh-agent`. Это приводит к

  • SSH_AUTH_SOCK=/tmp/ssh-tUlzwbxYNLaZ/agent.9516; export SSH_AUTH_SOCK;: переменная SSH_AUTH_SOCK среды должен быть установлен на заданное значение.
  • SSH_AGENT_PID=8992; export SSH_AGENT_PID;: переменная среды SSH_AGENT_PID, которая должна быть установлена ​​на заданное значение.

Эти две переменные должны быть установлены для ssh-add, чтобы иметь возможность найти агента. Если вы хотите их вручную оценить, вы можете просто скопировать эти команды, вставить их в свой терминал или консоль и нажать Enter. Затем попробуйте снова использовать ssh-add.

Последняя строка, echo Agent pid 8992;, просто распечатывает идентификатор процесса ssh-agent для вашей информации.

Эти переменные не могут быть жестко закодированы, поскольку сокет и PID не предсказуемы. Каждый раз, когда вы начинаете ssh-agent, вам нужно использовать любые значения, которые он распечатывает.

Обратите внимание, что эти переменные устанавливаются только для текущей оболочки. Поэтому, если вы делаете это в окне терминала, а затем работаете в этом окне, все должно быть хорошо, но если вы закроете окно и откроете новый терминал, он больше не будет работать. Аналогично, если вы вошли в консоль, выйдите из системы и снова войдете в нее.

Большинство современных настольных сред запускают ssh-agent и устанавливают для вас соответствующие переменные среды, поэтому, если вы используете Gnome или KDE или Unity или что-то, что вам не нужно делать. Если вы вручную запускаете свою среду или используете что-то более голые кости, которые не обрабатывают это для вас, вы, вероятно, должны добавить eval `ssh-agent` в ваш X-загрузочный файл, например. .xinitrc, так что он запускается до запуска X.

+0

Так что же тогда я делаю? Я не очень хорош в этом. –

+0

@ user3784238, не зная больше о вашей системе, вы должны иметь возможность запускать эти первые две команды, которые 'ssh-agent -s' выплюнуть (два в пулях в моем ответе). Скопируйте их в свой терминал или консоль, затем нажмите Enter. Затем попробуйте снова использовать 'ssh-agent' с того же терминала или консоли. – Chris

+0

отлично! Спасибо –

Смежные вопросы