<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>27342</bug_id>
          
          <creation_ts>2012-05-16 12:44:46 +0400</creation_ts>
          <short_desc>gpg-agent --enable-ssh-support doesn&apos;t work</short_desc>
          <delta_ts>2013-06-26 16:32:09 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>gnupg2</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc>http://bugs.etersoft.ru/show_bug.cgi?id=8269</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vitaly Lipatov">lav</reporter>
          <assigned_to name="Alexey Gladkov">legion</assigned_to>
          <cc>aen</cc>
    
    <cc>cas</cc>
    
    <cc>glebfm</cc>
    
    <cc>kurakin</cc>
    
    <cc>legion</cc>
    
    <cc>manowar</cc>
    
    <cc>oddity</cc>
    
    <cc>sem</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>131293</commentid>
    <comment_count>0</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2012-05-16 12:44:46 +0400</bug_when>
    <thetext>$ ssh-add
Enter passphrase for /home/lav/.ssh/id_dsa: 
SSH_AGENT_FAILURE
Could not add identity: /home/lav/.ssh/id_dsa

$ env | grep SSH
SSH_AGENT_PID=27395
SSH_AUTH_SOCK=/tmp/gpg-7DBlaZ/S.gpg-agent.ssh

$ ps -axw | grep gpg
27395 ?        Ss     0:00 /usr/bin/gpg-agent --sh --daemon --enable-ssh-support --write-env-file /home/lav/.cache/gpg-agent-info

gpg-agent запускается при логине в XFCE.

Нужно как-то особенно пользоваться? Здесь пишут, что надо GPG-ключи экспортировать:
https://bbs.archlinux.org/viewtopic.php?id=117040</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131294</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2012-05-16 13:22:00 +0400</bug_when>
    <thetext>IMHO использовать в качестве ssh-agent что-либо отличное от ssh-agent это нарываться на неприятности.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131299</commentid>
    <comment_count>2</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2012-05-16 17:07:49 +0400</bug_when>
    <thetext>&gt; gpg-agent запускается при логине в XFCE.

Он не должен запускаться с --enable-ssh-support если уже есть ssh-agent, запущенный из /etc/X11/profile.d/ssh-agent.sh.
Если же SSH_AGENT_PID не установлена, то да, запускается gpg-agent в качестве ssh-agent&apos;а.
Это можно изменить, установив в качестве ssh-agent&apos;а собственно ssh-agent:
xfconf-query -c xfce4-session -p /startup/ssh-agent/type -n -t string -s ssh-agent
(он, разумеется, запустится только если он еще не запущен).
При этом gpg-agent не будет запускаться совсем.
Или просто отключить запуск агентов:
xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -n -t bool -s false

А еще бывает gnome-keyring, который притворяется ssh и gpg агентами. Он тоже может запускаться в Xfce, если установлена галка &quot;Запускать службы GNOME при входе в систему&quot; в настройках.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131328</commentid>
    <comment_count>3</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2012-05-18 02:27:41 +0400</bug_when>
    <thetext>(В ответ на комментарий №2)
&gt; &gt; gpg-agent запускается при логине в XFCE.
&gt; 
&gt; Он не должен запускаться с --enable-ssh-support если уже есть ssh-agent,
&gt; запущенный из /etc/X11/profile.d/ssh-agent.sh.
Что значит &quot;не должен&quot;? Xfce запускает его, если в нём явно не указан запуск именно ssh-agent.
И по умолчанию именно так и есть.

&gt; Это можно изменить, установив в качестве ssh-agent&apos;а собственно ssh-agent:
&gt; xfconf-query -c xfce4-session -p /startup/ssh-agent/type -n -t string -s
&gt; ssh-agent
Да, это я понимаю.

...
&gt; Или просто отключить запуск агентов:
&gt; xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -n -t bool -s false
Спасибо, и как без ssh-agent жить?
 
&gt; А еще бывает gnome-keyring, который притворяется ssh и gpg агентами. Он тоже
&gt; может запускаться в Xfce, если установлена галка &quot;Запускать службы GNOME при
&gt; входе в систему&quot; в настройках.
Ну для меня это нечто неведомое.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131330</commentid>
    <comment_count>4</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2012-05-18 03:03:20 +0400</bug_when>
    <thetext>(В ответ на комментарий №1)
&gt; IMHO использовать в качестве ssh-agent что-либо отличное от ssh-agent это
&gt; нарываться на неприятности.
Понятно. Тогда пойду по пути изменения умолчаний xfce, чтобы gpg-agent в таком качестве не встречать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131334</commentid>
    <comment_count>5</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2012-05-18 11:06:10 +0400</bug_when>
    <thetext>(В ответ на комментарий №3)
&gt; (В ответ на комментарий №2)
&gt; &gt; &gt; gpg-agent запускается при логине в XFCE.
&gt; &gt; 
&gt; &gt; Он не должен запускаться с --enable-ssh-support если уже есть ssh-agent,
&gt; &gt; запущенный из /etc/X11/profile.d/ssh-agent.sh.
&gt; Что значит &quot;не должен&quot;? Xfce запускает его, если в нём явно не указан запуск
&gt; именно ssh-agent.
&gt; И по умолчанию именно так и есть.

Если уже есть запущенный ssh-agent, то gpg-agent запускается без ssh support.
У нас ssh-agent уже должен быть запущен, потому что в openssh-clients есть
/etc/X11/profile.d/ssh-agent.sh.
Иначе запускается gpg-agent с ssh support. Логика апстрима понятна: раз gpg-agent это умеет, то можно запустить только его и получить сразу и ssh, и gpg агентов. Управлять же отдельно запуском gpg-agent&apos;а почему-то нельзя. Т.е. запустить только gpg-agent без ssh-agent&apos;а не получится. Впрочем, это, возможно, и не особо нужно.
В принципе, у нас это все можно изменить, но это тема уже не для этой баги.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131355</commentid>
    <comment_count>6</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2012-05-18 20:52:50 +0400</bug_when>
    <thetext>(В ответ на комментарий №5)
...
&gt; Если уже есть запущенный ssh-agent, то gpg-agent запускается без ssh support.
&gt; У нас ssh-agent уже должен быть запущен, потому что в openssh-clients есть
&gt; /etc/X11/profile.d/ssh-agent.sh.
У нас в случае XFCE эти скрипты не выполняются, как я понимаю. Потому что 
они вызываются из /etc/X11/Xsession, который не используется. По крайней мере я так понял причину проблемы.


&gt; Иначе запускается gpg-agent с ssh support. Логика апстрима понятна: раз
&gt; gpg-agent это умеет, то можно запустить только его и получить сразу и ssh, и
&gt; gpg агентов. Управлять же отдельно запуском gpg-agent&apos;а почему-то нельзя. Т.е.
&gt; запустить только gpg-agent без ssh-agent&apos;а не получится. Впрочем, это,
&gt; возможно, и не особо нужно.
&gt; В принципе, у нас это все можно изменить, но это тема уже не для этой баги.
Ясно, спасибо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141131</commentid>
    <comment_count>7</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2013-06-25 06:00:20 +0400</bug_when>
    <thetext>(In reply to comment #5)
&gt; (В ответ на комментарий №3)
&gt; &gt; (В ответ на комментарий №2)
&gt; &gt; &gt; &gt; gpg-agent запускается при логине в XFCE.
&gt; &gt; &gt; 
&gt; &gt; &gt; Он не должен запускаться с --enable-ssh-support если уже есть ssh-agent,
&gt; &gt; &gt; запущенный из /etc/X11/profile.d/ssh-agent.sh.
&gt; &gt; Что значит &quot;не должен&quot;? Xfce запускает его, если в нём явно не указан запуск
&gt; &gt; именно ssh-agent.
&gt; &gt; И по умолчанию именно так и есть.
&gt; 
&gt; Если уже есть запущенный ssh-agent, то gpg-agent запускается без ssh support.
&gt; У нас ssh-agent уже должен быть запущен, потому что в openssh-clients есть
&gt; /etc/X11/profile.d/ssh-agent.sh.
&gt; Иначе запускается gpg-agent с ssh support.

В p7 (точнее говоря, в Simply 7 &quot;из коробки&quot;), несмотря на то, что ssh-agent уже работает, xfce4-session все равно запускает gpg-agent --enable-ssh-support.

&gt; Логика апстрима понятна: раз
&gt; gpg-agent это умеет, то можно запустить только его и получить сразу и ssh, и
&gt; gpg агентов.

Логика апстрима неправильная: gpg-agent никогда это нормально не умел, на данный момент толком не умеет, и будет всегда отставать от ssh-agent.

&gt; Управлять же отдельно запуском gpg-agent&apos;а почему-то нельзя. Т.е.
&gt; запустить только gpg-agent без ssh-agent&apos;а не получится. Впрочем, это,
&gt; возможно, и не особо нужно.
&gt; В принципе, у нас это все можно изменить, но это тема уже не для этой баги.

Поскольку gpg-agent --enable-ssh-support &quot;из коробки&quot; работает плохо, а ssh-agent, наоборот, работает хорошо, предлагаю, наконец, отказаться от запуска gpg-agent --enable-ssh-support &quot;из коробки&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141139</commentid>
    <comment_count>8</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2013-06-25 16:15:54 +0400</bug_when>
    <thetext>(В ответ на комментарий №7)
&gt; предлагаю, наконец, отказаться от запуска
&gt; gpg-agent --enable-ssh-support &quot;из коробки&quot;.
Скорее всего будет достаточно закоментировать эту часть кода, оставив только специфичные вещи, если они есть, т.к. /etc/profile.d/gnupg-agent.sh</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141140</commentid>
    <comment_count>9</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2013-06-25 18:32:18 +0400</bug_when>
    <thetext>Проблемы использования gpg-agent с --enable-ssh-support к xfce отношения не имеют. Здесь просто пообсуждали заодно настройки по умолчанию xfce, по этому поводу есть #29108. Так что возвращаю.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141141</commentid>
    <comment_count>10</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2013-06-25 18:39:23 +0400</bug_when>
    <thetext>Тогда просто не баг.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141142</commentid>
    <comment_count>11</comment_count>
    <who name="AEN">aen</who>
    <bug_when>2013-06-25 19:12:08 +0400</bug_when>
    <thetext>Нет, это бага, для которой найден обход.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141144</commentid>
    <comment_count>12</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2013-06-26 01:59:25 +0400</bug_when>
    <thetext>(In reply to comment #10)
&gt; Тогда просто не баг.

Режим поддержки ssh agent (gpg-agent --enable-ssh-support) работает настолько плохо, что честнее было бы сказать, что он просто не работает.  Это баг gpg-agent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141152</commentid>
    <comment_count>13</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2013-06-26 16:32:09 +0400</bug_when>
    <thetext>(В ответ на комментарий №12)
&gt; Это баг gpg-agent.
Понятно.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>