* [devel] ssh-agent и gpg-agent
@ 2014-09-01 18:32 Денис Смирнов
2014-09-03 14:06 ` Mikhail Efremov
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Денис Смирнов @ 2014-09-01 18:32 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 331 bytes --]
А в связи с чем у нас ssh-agent стартует из /etc/X11/profile.d, а
gpg-agent из /etc/profile.d?
Правильно ли я понимаю, что /etc/profile.d вообще не обрабатывается при
старте иксов?
Если да, то это полностью лишает возможности использовать
enable-ssh-support в gpg-agent.
--
С уважением, Денис
http://mithraen.ru/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] ssh-agent и gpg-agent
2014-09-01 18:32 [devel] ssh-agent и gpg-agent Денис Смирнов
@ 2014-09-03 14:06 ` Mikhail Efremov
2014-09-03 14:27 ` Денис Смирнов
2014-09-03 19:05 ` Dmitry V. Levin
2014-09-08 6:14 ` Alexey Morozov
2 siblings, 1 reply; 9+ messages in thread
From: Mikhail Efremov @ 2014-09-03 14:06 UTC (permalink / raw)
To: devel
On Mon, 1 Sep 2014 22:32:16 +0400 Денис Смирнов wrote:
> Если да, то это полностью лишает возможности использовать
> enable-ssh-support в gpg-agent.
Это в любом случае не лучшая идея. Я вот апстрим Xfce убедил так
не делать по умолчанию в xfce4-session.
ssh-agent гораздо лучше умеет работать с ключами, в gpg-agent какие-то
ключи могут просто не поддерживаться, например. Такая же проблема может
быть и с gnome-keyring, кстати, я где-то видел такую багу.
Т.е. к ssh-agent'у доверия гораздо больше.
--
WBR, Mikhail Efremov
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] ssh-agent и gpg-agent
2014-09-03 14:06 ` Mikhail Efremov
@ 2014-09-03 14:27 ` Денис Смирнов
2014-09-03 18:51 ` Dmitry V. Levin
0 siblings, 1 reply; 9+ messages in thread
From: Денис Смирнов @ 2014-09-03 14:27 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1240 bytes --]
On Wed, Sep 03, 2014 at 06:06:59PM +0400, Mikhail Efremov wrote:
> Это в любом случае не лучшая идея. Я вот апстрим Xfce убедил так
> не делать по умолчанию в xfce4-session.
Одно дело по-умолчанию, другое дело дать пользователю возможность самому
решать.
Строчка enable-ssh-support в ~/.gnupg/gpg-agent.conf достаточно ясно
выражает мои желания как пользователя.
> ssh-agent гораздо лучше умеет работать с ключами, в gpg-agent какие-то
> ключи могут просто не поддерживаться, например. Такая же проблема может
> быть и с gnome-keyring, кстати, я где-то видел такую багу.
> Т.е. к ssh-agent'у доверия гораздо больше.
Как мне решить средствами ssh-agent следующую задачу:
У меня есть несколько ключей. И некоторое множество хостов, на которые я
захожу. Разумеется для всех этих хостов в ~/.ssh/config указан
IdentityFile.
Но вот есть одна загвоздка -- если ключ уже в ssh-agent, то все это
замечательно работает. А вот если ключа еще нет -- то не работает вообще
никак. Никто даже и не пытается спросить у меня пароль на ключик.
С gpg-agent ключик всегда считается "добавленным" в агент, и он его
анонсирует. Но при попытке доступа -- спрашивает пароль.
--
С уважением, Денис
http://mithraen.ru/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] ssh-agent и gpg-agent
2014-09-03 14:27 ` Денис Смирнов
@ 2014-09-03 18:51 ` Dmitry V. Levin
2014-09-03 22:56 ` Денис Смирнов
2014-09-03 23:00 ` Денис Смирнов
0 siblings, 2 replies; 9+ messages in thread
From: Dmitry V. Levin @ 2014-09-03 18:51 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 602 bytes --]
On Wed, Sep 03, 2014 at 06:27:11PM +0400, Денис Смирнов wrote:
[...]
> Как мне решить средствами ssh-agent следующую задачу:
>
> У меня есть несколько ключей. И некоторое множество хостов, на которые я
> захожу. Разумеется для всех этих хостов в ~/.ssh/config указан
> IdentityFile.
$ cat ~/.xprofile
#!/bin/sh
if [ -S "$SSH_AUTH_SOCK" ] &&
[ `ssh-add -L 2>/dev/null |grep -c ^ssh-` -eq 0 ]; then
cd
sed '/^[[:space:]]*IdentityFile[[:space:]]*/I!d;s///;s/^~\///' .ssh/config |
sort -u |
xargs -r ls -- 2>/dev/null |
sort -u |
xargs -r ssh-add -c --
fi
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] ssh-agent и gpg-agent
2014-09-01 18:32 [devel] ssh-agent и gpg-agent Денис Смирнов
2014-09-03 14:06 ` Mikhail Efremov
@ 2014-09-03 19:05 ` Dmitry V. Levin
2014-09-08 6:14 ` Alexey Morozov
2 siblings, 0 replies; 9+ messages in thread
From: Dmitry V. Levin @ 2014-09-03 19:05 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 912 bytes --]
On Mon, Sep 01, 2014 at 10:32:16PM +0400, Денис Смирнов wrote:
> А в связи с чем у нас ssh-agent стартует из /etc/X11/profile.d, а
> gpg-agent из /etc/profile.d?
Для ssh-agent есть только X'овые askpass'ы,
для gpg-agent есть pinentry-curses.
Следует помнить, что pinentry-curses не реализует grab keyboard, со всеми
вытекающими.
> Правильно ли я понимаю, что /etc/profile.d вообще не обрабатывается при
> старте иксов?
Если не login shell, то не обрабатывается.
> Если да, то это полностью лишает возможности использовать
> enable-ssh-support в gpg-agent.
/etc/X11/Xsession запускает много всяких файлов, так что настроить запуск
gpg-agent несложно.
Следует помнить, что все агенты, реализующие ssh-agent, помимо самого
ssh-agent, более или менее неполноценные. Они, как правило, отстают от
ssh-agent по фичам, в частности, по множеству поддерживаемых типов ключей.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] ssh-agent и gpg-agent
2014-09-03 18:51 ` Dmitry V. Levin
@ 2014-09-03 22:56 ` Денис Смирнов
2014-09-03 23:00 ` Денис Смирнов
1 sibling, 0 replies; 9+ messages in thread
From: Денис Смирнов @ 2014-09-03 22:56 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 963 bytes --]
On Wed, Sep 03, 2014 at 10:51:24PM +0400, Dmitry V. Levin wrote:
>> Как мне решить средствами ssh-agent следующую задачу:
>> У меня есть несколько ключей. И некоторое множество хостов, на которые я
>> захожу. Разумеется для всех этих хостов в ~/.ssh/config указан
>> IdentityFile.
> $ cat ~/.xprofile
> #!/bin/sh
Спасибо. У такого решения есть две проблемы:
1. он запрашивает пароль на ключик в момент добавления ключа.
Следовательно нужно либо его всегда вводить, либо использовать pam_ssh с
паролем на ключи идентичным логину, либо держать на диске ключи без
пароля. Все три варианта мне не очень-то нравятся.
2. пароль запрашивается на каждое соединение с каждым сервером. При
использоваини ControlMaster это даже можно терпеть. Хотя я предполагал
аналогичное gpg-agent поведение со временным запоминанием пароля, тем
более там можно еще и TTL индивидуальный для каждого ключа указать.
--
С уважением, Денис
http://mithraen.ru/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] ssh-agent и gpg-agent
2014-09-03 18:51 ` Dmitry V. Levin
2014-09-03 22:56 ` Денис Смирнов
@ 2014-09-03 23:00 ` Денис Смирнов
1 sibling, 0 replies; 9+ messages in thread
From: Денис Смирнов @ 2014-09-03 23:00 UTC (permalink / raw)
To: devel
[-- Attachment #1.1: Type: text/plain, Size: 484 bytes --]
On Wed, Sep 03, 2014 at 10:51:24PM +0400, Dmitry V. Levin wrote:
Кстати, еще одна проблема -- скрипты для запуска ssh-agent и gpg-agent
используют, соответственно, ~/.gnupg/.gpg-agent-info и ~/.ssh/agent. Это
не позволяет держать .gnupg и .ssh в отдельном encfs разделе -- при
запуске агентов этот раздел может быть еще не смонтирован.
Может все же использовать XDG_RUNTIME_DIR при его наличии? Например так,
как в аттаче.
--
С уважением, Денис
http://mithraen.ru/
[-- Attachment #1.2: gnupg2.patch --]
[-- Type: text/x-patch, Size: 1043 bytes --]
diff --git a/gnupg-agent-wrapper.sh b/gnupg-agent-wrapper.sh
index ed3f429..5457860 100755
--- a/gnupg-agent-wrapper.sh
+++ b/gnupg-agent-wrapper.sh
@@ -2,6 +2,8 @@
[ -n "${GNUPGHOME-}" ] || GNUPGHOME="$HOME/.gnupg"
INFO="$GNUPGHOME/.gpg-agent-info"
+[ -n "$XDG_RUNTIME_DIR" ] && INFO="$XDG_RUNTIME_DIR/gpg-agent-info"
+
>>"$INFO"
enable -f /usr/lib/bash/lockf lockf
builtin lockf "$INFO"
diff --git a/gnupg-agent.sh b/gnupg-agent.sh
index a210ec4..50ef479 100755
--- a/gnupg-agent.sh
+++ b/gnupg-agent.sh
@@ -1,6 +1,8 @@
#!/bin/sh
[ -n "${GNUPGHOME-}" ] || GNUPGHOME="$HOME/.gnupg"
+INFO="$GNUPGHOME/.gpg-agent-info"
+[ -n "$XDG_RUNTIME_DIR" ] && INFO="$XDG_RUNTIME_DIR/gpg-agent-info"
if [ -d "$GNUPGHOME" ]; then
if [ -r "$GNUPGHOME/gpg.conf" ]; then
@@ -11,7 +13,7 @@ if [ -d "$GNUPGHOME" ]; then
if grep -qs '^[[:space:]]*use-agent' "$CFG" &&
@LIBEXECDIR@/gnupg/gnupg-agent-wrapper; then
- . "$GNUPGHOME/.gpg-agent-info"
+ . "$INFO"
GPG_TTY="$(tty)"; export GPG_TTY
fi
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] ssh-agent и gpg-agent
2014-09-01 18:32 [devel] ssh-agent и gpg-agent Денис Смирнов
2014-09-03 14:06 ` Mikhail Efremov
2014-09-03 19:05 ` Dmitry V. Levin
@ 2014-09-08 6:14 ` Alexey Morozov
2014-09-08 6:39 ` Денис Смирнов
2 siblings, 1 reply; 9+ messages in thread
From: Alexey Morozov @ 2014-09-08 6:14 UTC (permalink / raw)
To: devel
02.09.2014 01:32, Денис Смирнов пишет:
> Если да, то это полностью лишает возможности использовать
> enable-ssh-support в gpg-agent.
У меня вроде как работает на localhost. Могу опубликовать конфиги, если
надо. Существенно удобнее, на мой взгляд, чем ssh-agent, который в
конфигурации "по умолчанию" запрашивает пароли к ключам на старте сессии.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] ssh-agent и gpg-agent
2014-09-08 6:14 ` Alexey Morozov
@ 2014-09-08 6:39 ` Денис Смирнов
0 siblings, 0 replies; 9+ messages in thread
From: Денис Смирнов @ 2014-09-08 6:39 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 583 bytes --]
On Mon, Sep 08, 2014 at 01:14:41PM +0700, Alexey Morozov wrote:
>> Если да, то это полностью лишает возможности использовать
>> enable-ssh-support в gpg-agent.
> У меня вроде как работает на localhost. Могу опубликовать конфиги, если
> надо.
Интересно. Я сейчас это решил проверкой какой агент запущен, и если
запущен ssh-agent -- прибивать его и gpg-agent, перезапуская второй.
> Существенно удобнее, на мой взгляд, чем ssh-agent, который в
> конфигурации "по умолчанию" запрашивает пароли к ключам на старте сессии.
--
С уважением, Денис
http://mithraen.ru/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2014-09-08 6:39 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-01 18:32 [devel] ssh-agent и gpg-agent Денис Смирнов
2014-09-03 14:06 ` Mikhail Efremov
2014-09-03 14:27 ` Денис Смирнов
2014-09-03 18:51 ` Dmitry V. Levin
2014-09-03 22:56 ` Денис Смирнов
2014-09-03 23:00 ` Денис Смирнов
2014-09-03 19:05 ` Dmitry V. Levin
2014-09-08 6:14 ` Alexey Morozov
2014-09-08 6:39 ` Денис Смирнов
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git