Я создал новую учетную запись для друга на Kubuntu 12.04. Когда он использует, sshон получает эту ошибку:
Не удалось открыть соединение с вашим агентом аутентификации
Мы работаем над sshнекоторыми скриптами bash.
Посмотрев вокруг множества вещей, которые могут привести к этой ошибке, я наткнулся на это решение:
$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/some_id_rsa
Затем он может запускать sshкоманды (и скрипты bash), как и ожидалось.
Перед выполнением этих двух команд переменные env не устанавливаются в терминале:
$ echo $SSH_AGENT_PID
$ echo $SSH_AUTH_SOCK
$
После выполнения команд переменные env устанавливаются в соответствии с ожиданиями. Однако они не остаются установленными (например, в другой оболочке или после перезагрузки).
Я хочу знать, как настроить его компьютер, чтобы ему не нужно было запускать эти две команды для установки переменных env. Мне не нужно запускать их на моем компьютере (никогда). Пока что я не вижу, чем отличаются наши машины.
Я вижу эту информацию на странице руководства, но она не говорит мне, как Ubuntu обычно настраивает агент автоматически или что происходит на компьютере моего друга, так что это не работает для него.
Существует два основных способа настройки агента: во-первых, агент запускает новую подкоманду, в которую экспортируются некоторые переменные среды, например, ssh-agent xterm &. Во-вторых, агент печатает необходимые команды оболочки (может быть сгенерирован либо синтаксис sh (1), либо csh (1)), которые можно оценить в вызывающей оболочке, например, eval
ssh-agent -sдля оболочек типа Борна, таких как sh (1) или ksh (1) и evalssh-agent -cдля csh (1) и производных.
После установки acctи перезагрузки это вывод lastcomm:
ssh-agent F newuser __ 0.12 secs Wed Aug 7 11:02
ssh-agent F newuser __ 0.00 secs Wed Aug 7 20:34
ssh-agent F newuser __ 0.02 secs Wed Aug 7 20:02
ssh-agent F newuser __ 0.01 secs Thu Aug 8 12:39
ssh-agent F newuser __ 0.02 secs Thu Aug 8 07:45
Со страницы руководства:
F - команда, выполненная после форка, но без следующего exec
Я не уверен, что это важно.
X11/Xsession.options:use-ssh-agentи X11/Xsession.d/90x11-common_ssh-agent:SSHAGENT=/usr/bin/ssh-agent. Я постараюсь acctи lastcommдальше. Спасибо
lastcommдля полного сеанса, а не только для ssh-agentпроцесса. Дело в том, чтобы увидеть, в каком порядке запускаются различные программы.
ssh-agentобычно запускается из/etc/X11/Xsession.d/90x11-common_ssh-agent. Это можно подавить, удаливuse-ssh-agentиз/etc/X11/Xsession. Эти файлы правильны? Агент запущен и затем убит или никогда не запускался? (Установитеacctи запуститеlastcommпосле входа в систему, чтобы увидеть, какие программы были запущены.)