Я створив новий обліковий запис користувача для друга на Kubuntu 12.04. Під час використання ssh
він отримує цю помилку:
Не вдалося відкрити з'єднання з вашим агентом аутентифікації
Ми працюємо ssh
в деяких сценаріях bash.
Оглянувши широке розмаїття речей, які можуть призвести до цієї помилки, я натрапив на таке рішення:
$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/some_id_rsa
Тоді він може запускати ssh
команди (та скрипки скриптів), як очікувалося.
Перед запуском цих двох команд змінні env не встановлюються в терміналі:
$ echo $SSH_AGENT_PID
$ echo $SSH_AUTH_SOCK
$
Після запуску команд змінні env встановлюються як очікувалося. Однак вони не залишаються встановленими (наприклад, в іншій оболонці або після перезавантаження).
Я хочу знати, як налаштувати його комп’ютер, щоб він не мав запускати ці дві команди для встановлення змінних env. Мені не потрібно запускати їх на своєму комп’ютері (ніколи). Поки що я не бачу, що відрізняється між нашими машинами.
Я бачу цю інформацію на сторінці "man", але вона не говорить мені про те, як Ubuntu зазвичай автоматично налаштовує агент або що відбувається на машині мого друга, так що це не працює для нього.
Є два основні способи налаштування агента: Перший полягає в тому, що агент запускає нову підкоманду, в яку експортуються деякі змінні середовища, наприклад, ssh-agent xterm &. Друга полягає в тому, що агент друкує необхідні команди оболонки (може бути сформований синтаксис sh (1) або csh (1)), які можуть бути отримані в оболонці виклику, наприклад, eval
ssh-agent -s
для оболонок типу Bourne, таких як 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 - команда, що виконується після вилки, але без наступного виконання
Я не впевнений, чи це важливо.
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
після входу в систему, щоб побачити, які програми запущені.)