Я создал новую учетную запись для друга на 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
после входа в систему, чтобы увидеть, какие программы были запущены.)