Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 8269 - Не работает поддержка ssh-agent в gpg-agent   Make a simular bug
Summary: Не работает поддержка ssh-agent в gpg-agent
Status: CLOSED INVALID
Alias: None
Product: LINUX@Etersoft
Classification: Продукты (Products)
Component: Общее (show other bugs)
Version: не указана
Hardware: PC All
: P5 trivial
Target Milestone: выпуск 1.0
Assignee: Дмитрий Кругликов
QA Contact: Денис Баранов
URL: https://bugzilla.altlinux.org/show_bu...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
In work:
Reported: 2012-03-06 16:38 MSK by Денис Баранов
Modified: 2012-09-19 18:10 MSK (History)
5 users (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Денис Баранов 2012-03-06 16:38:14 MSK
В ALTLinux в xfce при старте стартует ssh-agent c параметром SSH_AUTH_SOCK=/tmp/gpg-TA2dkw/S.gpg-agent.ssh, но ssh-add выдает SSH_AGENT_FAILURE
Если запустить так:
[baraka@lin-test ~]$ eval `ssh-agent -u`, то параметр становится: SSH_AUTH_SOCK=/home/baraka/.ssh/agent и ssh-add работает корректно.
Нужно выяснить в чем проблема и понять как решить.
Comment 1 Дмитрий Кругликов 2012-03-27 21:10:17 MSK
# pwd
/etc/X11/profile.d

# rpm -qf ssh-agent.sh 
openssh-clients-5.9p1-alt2


# cat ssh-agent.sh 
#!/bin/sh

[ -n "$SSH_AUTH_SOCK" ] ||
        eval `ssh-agent -u 2>/dev/null`

Это решит проблему?
Comment 2 Vitaly Lipatov 2012-03-28 12:17:43 MSK
Ну да, скрипт
/etc/X11/profile.d/ssh-agent.sh
должен бы вызываться при запуске XFCE

Возможно, этот profile.d не задействован при запуске XFCE?
Comment 3 Дмитрий Кругликов 2012-03-28 12:52:11 MSK
(В ответ на comment #2)

> Возможно, этот profile.d не задействован при запуске XFCE?
Скрипты из profile.d обрабатыываются из /etc/X11/Xsession, принадлежащего пакету xinitrc-2.4.34-alt2

Там есть вызов 
# Run system scripts from /etc/X11/xinit.d/
for f in /etc/X11/xinit.d/*; do
        # Don't run *.rpm* and *~ scripts
        [ "${f%.rpm*}" = "$f" -a "${f%\~}" = "$f" ] || continue

        if [ -x "$f" ]; then
                "$f" &
        fi
done
Comment 4 Дмитрий Кругликов 2012-04-03 09:47:42 MSK
Локально у меня работает.
По NX проверить затруднительно, так как соединение от меня крайне неустойчивое.
Буду разбираться по возможности.
Comment 5 Денис Баранов 2012-04-10 12:34:21 MSK
В XFCE настраивается запуск ssh-agent, путем настроек:
xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -s true -t bool -n


Скрипт проверяющий наличие этой опции:
grep ssh-agent /etc/xdg/xfce4/xinitrc
Comment 6 Денис Баранов 2012-04-10 12:40:25 MSK
Выяснено, что по умолчанию запускается gpg-agent.
Для смены на ssh-agent необходимо:
xfconf-query -c xfce4-session -p /startup/ssh-agent/type -s "ssh-agent" -t string -n
Comment 7 Денис Баранов 2012-04-10 12:50:37 MSK
По умолчанию запускается gpg-agent с поддержкой ssh-agent, но такая комбинация не работает.
Comment 8 Дмитрий Кругликов 2012-04-10 13:10:01 MSK
(В ответ на comment #6)
> Выяснено, что по умолчанию запускается gpg-agent.
> Для смены на ssh-agent необходимо:
> xfconf-query -c xfce4-session -p /startup/ssh-agent/type -s "ssh-agent" -t
> string -n

Мне кажется, что вы не с той стороны к решению вопроса подходите.
У меня все работает как нужно без лишних вмешательств.
Если поведение изменилось, то в следствие каких-либо вмешательств.

Для восстановления работоспособности необходимо и достаточно выяснить характер и точку вмешательства и устранить последствия.

Вы же пытаетесь перекрыть последствия неизвестного события новым вмешательством.

Нет необходимости выполнять какие-либо действия из командной строки.
Все должно работать без этого.

Начнем с начала.
1) На каком сервере это все происходит?
2) Есть ли у меня там административные права для проверки и исправления?
3) У какого пользователя можно проверять (доступ к его файлам на чтение и запись)?

Версии пакетов и прочее я определю сам, добравшись до сервера...
Comment 9 Дмитрий Кругликов 2012-04-10 15:42:13 MSK
Сошлись на локальной проблеме.
Comment 10 Vitaly Lipatov 2012-04-11 16:58:13 MSK
(В ответ на comment #8)
> (В ответ на comment #6)
> > Выяснено, что по умолчанию запускается gpg-agent.
> > Для смены на ssh-agent необходимо:
> > xfconf-query -c xfce4-session -p /startup/ssh-agent/type -s "ssh-agent" -t
> > string -n
> 
> Мне кажется, что вы не с той стороны к решению вопроса подходите.
> У меня все работает как нужно без лишних вмешательств.
> Если поведение изменилось, то в следствие каких-либо вмешательств.
У нас не работает ни на одной машине. Изначально (т.е. после установки и начала использования xfce).
Чтобы понять, надо найти или создать хоть какое-то описание того, как ведёт себя скрипт запуска в этом месте.

> 1) На каком сервере это все происходит?
Это происходит на любой машине.

> 3) У какого пользователя можно проверять (доступ к его файлам на чтение и
> запись)?
И воспроизводится только при локальном входе (то есть проверять можно только в виртуалке или локально).


(В ответ на comment #9)
> Сошлись на локальной проблеме.

В таком случае было бы интересно увидеть оттуда, где всё работает:
$ ps ax | grep gpg-agent
$ env | grep SSH
$ ssh-add -l
$ ssh-add

Вот как там, где не работает:

$ ps ax | grep gpg-agent
 7148 ?        Ss     0:00 gpg-agent --daemon --enable-ssh-support --write-env-

$ env | grep SSH
SSH_AGENT_PID=7148
SSH_AUTH_SOCK=/tmp/gpg-w86kTf/S.gpg-agent.ssh

$ ssh-add
Enter passphrase for /home/speshl/.ssh/id_dsa: 
SSH_AGENT_FAILURE
Could not add identity: /home/speshl/.ssh/id_dsa
Comment 11 Дмитрий Кругликов 2012-04-12 11:32:45 MSK
(В ответ на comment #10)

> У нас не работает ни на одной машине. Изначально (т.е. после установки и начала
> использования xfce).
Еще раз: Мне неизвестна рабочая станция с IP-адресом "у нас".
Мне незивестен способ ментальной диагностики.

> В таком случае было бы интересно увидеть оттуда, где всё работает:
Свежеустановленный в VirtualBox altlinux-6.0.1-simply-x86_64-ru-live-dvd.iso

> $ ps ax | grep gpg-agent
> $ env | grep SSH
> $ ssh-add -l
> $ ssh-add

[master@linux ~]$ ps ax | grep agent
 6228 ?        Ss     0:00 ssh-agent -u 
 6550 pts/0    S+     0:00 grep agent 
[master@linux ~]$ env | grep SSH
SSH_AGENT_PID=6228
SSH_AUTH_SOCK=/tmp/.private/master/keyring-0GvalP/ssh
[master@linux ~]$ ssh-add -l
The agent has no identities.

> 
[master@linux ~]$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/master/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/master/.ssh/id_rsa.
Your public key has been saved in /home/master/.ssh/id_rsa.pub.
The key fingerprint is:
9a:54:4e:56:e6:60:78:05:0f:0e:47:b6:5a:f2:ef:83 master@linux.local

$ ssh-add -l
2048 9a:54:4e:56:e6:60:78:05:0f:0e:47:b6:5a:f2:ef:83 master@linux.local (RSA)

> Вот как там, где не работает:

Не воспроизводится.
Comment 12 Vitaly Lipatov 2012-04-27 20:26:09 MSK
Давайте ещё раз.
При старте XFCE выбором запуска агента (gpg/ssh) занимается скрипт
/etc/xdg/xfce4/xinitrc.
Он смотрит, какие настройки сделаны в XFCE.

Проверка настроек:
$ xfconf-query -c xfce4-session -p /startup/ssh-agent/type
если ничего не выводится, то по умолчанию идёт запуск gpg-agent.

Утверждение следующее: gpg-agent не работает корректно как ssh-agent.


> [master@linux ~]$ ps ax | grep agent
>  6228 ?        Ss     0:00 ssh-agent -u 
...
> > Вот как там, где не работает:
> 
> Не воспроизводится.
Да, потому что по какой-то причине там запускается ssh-agent, а не gpg-agent.

Я думаю, важным является скорее возможность повторить проблему, чем не повторить её.

Признак я приводил:
$ ps ax | grep gpg-agent
 7148 ?        Ss     0:00 gpg-agent --daemon --enable-ssh-support --write-env-


Чтобы включить режим gpg-agent, достаточно сделать следующее:
$ xfconf-query -c xfce4-session -p /startup/ssh-agent/type -s "gpg-agent" -t
string -n

Это должно воспроизвести проблему на любой системе.
Comment 13 Дмитрий Кругликов 2012-04-27 20:48:11 MSK
(В ответ на comment #12)
> Давайте ещё раз.
Ок...
> При старте XFCE выбором запуска агента (gpg/ssh) занимается скрипт
> /etc/xdg/xfce4/xinitrc.
> Он смотрит, какие настройки сделаны в XFCE.
> 
> Проверка настроек:
> $ xfconf-query -c xfce4-session -p /startup/ssh-agent/type
> если ничего не выводится, то по умолчанию идёт запуск gpg-agent.
> 
$ xfconf-query -c xfce4-session -p /startup/ssh-agent/type
Свойство «/startup/ssh-agent/type» отсутствует на канале «xfce4-session».

Это потому, что в настройках моего локального XFCE, в настройках сессии
отключены как gpg, так и ssh агенты...

В виртуалке, с чисто установленного дистрибутива, нормально стартует 
gpg-agent с --enable-ssh-support...

> Утверждение следующее: gpg-agent не работает корректно как ssh-agent.

Скорее, gpg-agent не запускается корректно.


> 
> Чтобы включить режим gpg-agent, достаточно сделать следующее:
Нет. Достаточно в диспетчере настроек XFCE включить нужный чекбокс...

> Это должно воспроизвести проблему на любой системе.
Нет. Это принудительно приведет систему в неработоспособное состояние.

Таким образом мы сами внесем в систему ошибку, которую потом и найдем...

Не исключено, что ошибочное состояние является следствием однажды введенной команды...
Comment 14 Vitaly Lipatov 2012-04-28 02:01:14 MSK
(В ответ на comment #13)
...

> Это потому, что в настройках моего локального XFCE, в настройках сессии
> отключены как gpg, так и ssh агенты...
Я все свои знание подчерпнул из чтения 
/etc/xdg/xfce4/xinitrc.
 
> В виртуалке, с чисто установленного дистрибутива, нормально стартует 
> gpg-agent с --enable-ssh-support...
Скорее всего все наши машины на Сизифе.
 
> Скорее, gpg-agent не запускается корректно.
Так я о чём толкую - что он запускается так, что эмулировать ssh-agent не может.

> > Чтобы включить режим gpg-agent, достаточно сделать следующее:
> Нет. Достаточно в диспетчере настроек XFCE включить нужный чекбокс...
Ну это надо знать ещё, где его искать.
 
> > Это должно воспроизвести проблему на любой системе.
> Нет. Это принудительно приведет систему в неработоспособное состояние.
Что же в нём неработоспособного?
 
> Таким образом мы сами внесем в систему ошибку, которую потом и найдем...
Давайте не будем менять обстановку. У нас в офисе 10 машин. Мы на них поставили xfce4-default и стали пользоваться XFCE. Столкнулись с описанной проблемой. Никто ничего заранее не делал.
 
> Не исключено, что ошибочное состояние является следствием однажды введенной
> команды...
Нет уж, сущности умножать без необходимости не надо.
Никто не способен ввести такую команду случайно.
Comment 15 Дмитрий Кругликов 2012-04-28 10:34:24 MSK
(В ответ на comment #14)
> Скорее всего все наши машины на Сизифе.
У меня рабочая станция на Сизифе.  XFCE 4.9.x...
Работает нормально, и агентами не пользуюсь, потому как это плохой вариант при наличии более одного ключа (уже залочил один сервер).


> Так я о чём толкую - что он запускается так, что эмулировать ssh-agent не
> может.
Скорее всего, это следствие, а не причина.

> > > Чтобы включить режим gpg-agent, достаточно сделать следующее:
> > Нет. Достаточно в диспетчере настроек XFCE включить нужный чекбокс...
> Ну это надо знать ещё, где его искать.
Ну, тогда линейкой по рукам и не лазить где попало...

> > > Это должно воспроизвести проблему на любой системе.
> > Нет. Это принудительно приведет систему в неработоспособное состояние.
> Что же в нём неработоспособного?
Запуск gpg-agent без поддержки ssh...

> Давайте не будем менять обстановку. У нас в офисе 10 машин. Мы на них поставили
> xfce4-default и стали пользоваться XFCE. Столкнулись с описанной проблемой.
> Никто ничего заранее не делал.
Давайте на одной из них обновим XFCE и проверим, что получится.

> Никто не способен ввести такую команду случайно.
Так Сизиф же ж...
Команда была введена стартовым скриптом... Да, баг...
Но мне его воспроизвести не удалось. 
А доступа к тем машинам, что в офисе, у меня нет.

Я не могу рвать зубы через bugzolla...
Мне бы хоть SSH...
Comment 16 Vitaly Lipatov 2012-05-09 01:03:23 MSK
Я предлагаю тогда сначала разобраться с нормальным доступам к нашим виртуалкам по NX. Без этого сложно работать.
По проблеме с подключением видимо надо завести багу, и решить её совместными усилиями.
Comment 17 Vitaly Lipatov 2012-05-16 12:46:02 MSK
Завёл багу в ALT Linux: https://bugzilla.altlinux.org/show_bug.cgi?id=27342

Может быть, стоило и сразу в рассылке спросить.
Comment 18 Дмитрий Кругликов 2012-05-16 12:54:40 MSK
(В ответ на comment #17)
> Завёл багу в ALT Linux: https://bugzilla.altlinux.org/show_bug.cgi?id=27342
Я б версии пакетов указывал...
Comment 19 Vitaly Lipatov 2012-05-24 02:33:44 MSK
Решили не использовать gpg-agent в любом случае. В дистрибутиве он не должен быть по умолчанию.
Comment 20 Vitaly Lipatov 2012-09-19 18:10:24 MSK
Команда для включения запуска ssh-agent по умолчанию:
$ xfconf-query -c xfce4-session -p /startup/ssh-agent/type -s "ssh-agent" -t string -n