Summary: | Не работает поддержка ssh-agent в gpg-agent | ||
---|---|---|---|
Product: | LINUX@Etersoft | Reporter: | Денис Баранов <baraka> |
Component: | Общее | Assignee: | Дмитрий Кругликов <dkr> |
Status: | CLOSED INVALID | QA Contact: | Денис Баранов <baraka> |
Severity: | trivial | ||
Priority: | P5 | CC: | arc, baraka, dkr, lav, sin |
Version: | не указана | ||
Target Milestone: | выпуск 1.0 | ||
Hardware: | PC | ||
OS: | All | ||
URL: | https://bugzilla.altlinux.org/show_bug.cgi?id=27342 | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: |
Description
Денис Баранов
2012-03-06 16:38:14 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` Это решит проблему? Ну да, скрипт /etc/X11/profile.d/ssh-agent.sh должен бы вызываться при запуске XFCE Возможно, этот profile.d не задействован при запуске XFCE? (В ответ на 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 Локально у меня работает. По NX проверить затруднительно, так как соединение от меня крайне неустойчивое. Буду разбираться по возможности. В 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 Выяснено, что по умолчанию запускается gpg-agent. Для смены на ssh-agent необходимо: xfconf-query -c xfce4-session -p /startup/ssh-agent/type -s "ssh-agent" -t string -n По умолчанию запускается gpg-agent с поддержкой ssh-agent, но такая комбинация не работает. (В ответ на 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 #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 #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) > Вот как там, где не работает: Не воспроизводится. Давайте ещё раз. При старте 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 #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 #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 #14) > Скорее всего все наши машины на Сизифе. У меня рабочая станция на Сизифе. XFCE 4.9.x... Работает нормально, и агентами не пользуюсь, потому как это плохой вариант при наличии более одного ключа (уже залочил один сервер). > Так я о чём толкую - что он запускается так, что эмулировать ssh-agent не > может. Скорее всего, это следствие, а не причина. > > > Чтобы включить режим gpg-agent, достаточно сделать следующее: > > Нет. Достаточно в диспетчере настроек XFCE включить нужный чекбокс... > Ну это надо знать ещё, где его искать. Ну, тогда линейкой по рукам и не лазить где попало... > > > Это должно воспроизвести проблему на любой системе. > > Нет. Это принудительно приведет систему в неработоспособное состояние. > Что же в нём неработоспособного? Запуск gpg-agent без поддержки ssh... > Давайте не будем менять обстановку. У нас в офисе 10 машин. Мы на них поставили > xfce4-default и стали пользоваться XFCE. Столкнулись с описанной проблемой. > Никто ничего заранее не делал. Давайте на одной из них обновим XFCE и проверим, что получится. > Никто не способен ввести такую команду случайно. Так Сизиф же ж... Команда была введена стартовым скриптом... Да, баг... Но мне его воспроизвести не удалось. А доступа к тем машинам, что в офисе, у меня нет. Я не могу рвать зубы через bugzolla... Мне бы хоть SSH... Я предлагаю тогда сначала разобраться с нормальным доступам к нашим виртуалкам по NX. Без этого сложно работать. По проблеме с подключением видимо надо завести багу, и решить её совместными усилиями. Завёл багу в ALT Linux: https://bugzilla.altlinux.org/show_bug.cgi?id=27342 Может быть, стоило и сразу в рассылке спросить. (В ответ на comment #17) > Завёл багу в ALT Linux: https://bugzilla.altlinux.org/show_bug.cgi?id=27342 Я б версии пакетов указывал... Решили не использовать gpg-agent в любом случае. В дистрибутиве он не должен быть по умолчанию. Команда для включения запуска ssh-agent по умолчанию: $ xfconf-query -c xfce4-session -p /startup/ssh-agent/type -s "ssh-agent" -t string -n |