Переключитесь на openssh-агент

Моя проблема должна добраться ssh-agent вместо gnome-keyring и работа новой установки Ubuntu 16.10.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.10
Release:    16.10
Codename:   yakkety

Я отключил компонент Брелока для ключей Gnome SSH (X-GNOME-Autostart-enabled=false в gnome-keyring-ssh.desktop).

Ubuntu 16.10 автоматически запускает экземпляр ssh-agent и должен распространить переменные среды, но вместо этого частично не удается сделать так. Если терминал запущен через Средство запуска Единицы или Наутилус, $SSH_AUTH_SOCK установлен, но если терминал запускается через сочетание клавиш (значение по умолчанию ctrl+alt+t) переменная пуста.

Сокращенный pstree:

systemd─┬─accounts-daemon─┬─{gdbus}
        │                 └─{gmain}
        ├─acpid
        ├─agetty
        ├─avahi-daemon───avahi-daemon
        ├─cgmanager
        ├─colord─┬─{gdbus}
        │        └─{gmain}
        ├─cron
        ├─dbus-daemon
        ├─gnome-keyring-d─┬─{gdbus}
        │                 ├─{gmain}
        │                 └─{timer}
        ├─lightdm─┬─Xorg
        │         ├─lightdm─┬─upstart─┬─hud-service─┬─{QDBusConnection}
        │         │         │         │             ├─{gdbus}
        │         │         │         │             └─{gmain}
        │         │         │         ├─indicator-appli─┬─{gdbus}
        │         │         │         │                 └─{gmain}
        │         │         │         ├─indicator-bluet─┬─{dconf worker}
        │         │         │         │                 ├─{gdbus}
        │         │         │         │                 └─{gmain}
        │         │         │         ├─indicator-datet─┬─{dconf worker}
        │         │         │         │                 ├─{gdbus}
        │         │         │         │                 ├─{gmain}
        │         │         │         │                 ├─4*[{indicator-datet}]
        │         │         │         │                 └─{pool}
        │         │         │         ├─indicator-keybo─┬─{dconf worker}
        │         │         │         │                 ├─{gdbus}
        │         │         │         │                 └─{gmain}
        │         │         │         ├─indicator-messa─┬─{dconf worker}
        │         │         │         │                 ├─{gdbus}
        │         │         │         │                 └─{gmain}
        │         │         │         ├─indicator-power─┬─{dconf worker}
        │         │         │         │                 ├─{gdbus}
        │         │         │         │                 └─{gmain}
        │         │         │         ├─indicator-print─┬─{dconf worker}
        │         │         │         │                 ├─{gdbus}
        │         │         │         │                 └─{gmain}
        │         │         │         ├─indicator-sessi─┬─{dconf worker}
        │         │         │         │                 ├─{gdbus}
        │         │         │         │                 └─{gmain}
        │         │         │         ├─indicator-sound─┬─{dconf worker}
        │         │         │         │                 ├─{gdbus}
        │         │         │         │                 └─{gmain}
        │         │         │         ├─sh───url-dispatcher─┬─{gdbus}
        │         │         │         │                     ├─{gmain}
        │         │         │         │                     └─3*[{url-dispatcher}]
        │         │         │         ├─2*[sleep]
        │         │         │         ├─2*[upstart-dbus-br]
        │         │         │         ├─upstart-file-br
        │         │         │         ├─upstart-udev-br
        │         │         │         ├─window-stack-br───{QDBusConnection}
        │         │         │         └─xbrlapi
        │         │         ├─{gdbus}
        │         │         └─{gmain}
        │         ├─{gdbus}
        │         └─{gmain}
        ├─polkitd─┬─{gdbus}
        │         └─{gmain}
        ├─rsyslogd─┬─{in:imklog}
        │          ├─{in:imuxsock}
        │          └─{rs:main Q:Reg}
        ├─rtkit-daemon───2*[{rtkit-daemon}]
        ├─snapd───6*[{snapd}]
        ├─systemd─┬─(sd-pam)
        │         ├─at-spi-bus-laun─┬─dbus-daemon
        │         │                 ├─{dconf worker}
        │         │                 ├─{gdbus}
        │         │                 └─{gmain}
        │         ├─at-spi2-registr─┬─{gdbus}
        │         │                 └─{gmain}
        │         ├─bamfdaemon─┬─{gdbus}
        │         │            └─{gmain}
        │         ├─compiz─┬─{dconf worker}
        │         │        ├─{gdbus}
        │         │        └─{gmain}
        │         ├─dbus-daemon
        │         ├─dconf-service─┬─{gdbus}
        │         │               └─{gmain}
        │         ├─gconfd-2
        │         ├─gnome-session-b─┬─deja-dup-monito─┬─{dconf worker}
        │         │                 │                 ├─{gdbus}
        │         │                 │                 └─{gmain}
        │         │                 ├─gnome-software─┬─{dconf worker}
        │         │                 │                ├─{gdbus}
        │         │                 │                └─{gmain}
        │         │                 ├─nm-applet─┬─{dconf worker}
        │         │                 │           ├─{gdbus}
        │         │                 │           └─{gmain}
        │         │                 ├─polkit-gnome-au─┬─{dconf worker}
        │         │                 │                 ├─{gdbus}
        │         │                 │                 └─{gmain}
        │         │                 ├─unity-fallback-─┬─{dconf worker}
        │         │                 │                 ├─{gdbus}
        │         │                 │                 └─{gmain}
        │         │                 ├─update-notifier─┬─{dconf worker}
        │         │                 │                 ├─{gdbus}
        │         │                 │                 └─{gmain}
        │         │                 ├─zeitgeist-datah─┬─{gdbus}
        │         │                 │                 ├─{gmain}
        │         │                 │                 └─4*[{pool}]
        │         │                 ├─{dconf worker}
        │         │                 ├─{gdbus}
        │         │                 └─{gmain}
        │         ├─gnome-terminal-─┬─fish───pstree
        │         │                 ├─{dconf worker}
        │         │                 ├─{gdbus}
        │         │                 └─{gmain}
        │         ├─gpg-agent
        │         ├─ibus-daemon─┬─ibus-dconf─┬─{dconf worker}
        │         │             │            ├─{gdbus}
        │         │             │            └─{gmain}
        │         │             ├─ibus-engine-sim─┬─{gdbus}
        │         │             │                 └─{gmain}
        │         │             ├─ibus-ui-gtk3─┬─{dconf worker}
        │         │             │              ├─{gdbus}
        │         │             │              └─{gmain}
        │         │             ├─{gdbus}
        │         │             └─{gmain}
        │         ├─ibus-x11─┬─{gdbus}
        │         │          └─{gmain}
        │         ├─nautilus─┬─{dconf worker}
        │         │          ├─{gdbus}
        │         │          └─{gmain}
        │         └─ssh-agent
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-resolve
        ├─systemd-timesyn───{sd-resolve}
        └─systemd-udevd

Состояние сервиса ssh-агента:

$ systemctl --user status ssh-agent                                                                                                                                                            22:03:56
● ssh-agent.service - OpenSSH Agent
   Loaded: loaded (/usr/lib/systemd/user/ssh-agent.service; static; vendor preset: enabled)
   Active: active (running) since Sun 2016-11-20 21:59:06 CET; 7min ago
 Main PID: 5513 (ssh-agent)
   CGroup: /user.slice/user-1000.slice/user@1000.service/ssh-agent.service
           └─5513 ssh-agent -D -a /run/user/1000/openssh_agent

Nov 20 21:59:06 Cerberus systemd[4879]: Started OpenSSH Agent.
Nov 20 21:59:06 Cerberus agent-launch[5513]: dbus-update-activation-environment: setting SSH_AUTH_SOCK=/run/user/1000/openssh_agent
Nov 20 21:59:06 Cerberus agent-launch[5513]: dbus-update-activation-environment: setting SSH_AGENT_LAUNCHER=openssh
Nov 20 21:59:06 Cerberus agent-launch[5513]: SSH_AUTH_SOCK=/run/user/1000/openssh_agent; export SSH_AUTH_SOCK;
Nov 20 21:59:06 Cerberus agent-launch[5513]: echo Agent pid 5513;

Среда gnome-terminal-server знает о корректном SSH_AUTH_SOCK

$ ps aux | grep /usr/lib/gnome-terminal/gnome-terminal-server
max       6408  0.3  0.1 740696 32148 ?        Ssl  22:00   0:01 /usr/lib/gnome-terminal/gnome-terminal-server
max      13129  0.0  0.0  21428  1844 pts/5    S+   22:09   0:00 grep --color=auto /usr/lib/gnome-terminal/gnome-terminal-server
$ xargs -n 1 -0 < /proc/6408/environ | grep SSH_AUTH_SOCK                                                                                                                                      22:09:35
SSH_AUTH_SOCK=/run/user/1000/openssh_agent

Каждый метод запуска терминала я попробовал ведомый к ним являющийся детьми gnome-terminal-server которому установили корректную среду.

Там какой-либо путь состоит в том, чтобы устранить эту проблему на моей стороне, или действительно ли я должен зарегистрировать отчет об ошибках?

4
задан 30 October 2017 в 16:20

1 ответ

Я заставил это работать, проблема, кажется, состояние состязания.

Первый я работал systemctl --user mask gnome-keyring-ssh и оставил сдачу gnome-keyring-ssh.desktop для завершенного отключения сервиса Keyring’s SSH Gnome. Просто маскирование сервиса не было достаточно.

, Во-вторых, я создал сервисную перезапись файла через systemctl --user edit ssh-agent содержащий следующие настройки:

[Service]
Type=forking

Наконец я отредактировал /usr/lib/openssh/agent-launch и заменил exec ssh-agent -D -a $S ssh-agent -a $S.

я пытался установить сервисный тип на notify, NotifyAccess к all и работать systemd-notify --ready, прежде чем exec’ing ssh-agent, но по некоторым причинам systemd не получил уведомление и столкнулся с тайм-аутом ssh-agent.service.

2
ответ дан 1 December 2019 в 10:16

Другие вопросы по тегам:

Похожие вопросы: