Recently, I noticed that gnome-keyring's SSH agent no longer seems to
set SSH_AUTH_SOCK in the session environment. I can see via ps that the
SSH component is running:
josh 2321 0.0 0.1 419788 8108 ? SLl 08:48 0:00 /usr/bin/gnome-keyring-daemon --start --components=ssh
However, nothing sets SSH_AUTH_SOCK in the session environment anymore.
(I have no-use-ssh-agent in /etc/X11/Xsession.options temporarily, to
prevent ssh-agent from running, as I'd prefer to use the SSH agent in
gnome-keyring.)
I noticed this when automated invocations of SSH stopped working. For
instance, I have mutt configured to use an SSH tunnel. With
gnome-keyring's SSH agent configured, gnome-keyring prompts for the
passphrase when I run mutt. With ssh-agent (without a manual ssh-add)
or no agent configured, mutt just says that the tunnel failed. (One of
many reasons I prefer to use gnome-keyring: the automatic prompting and
adding.)
(As an aside, does gnome-keyring-daemon with --components contact a
running instance of itself and add that component, rather than running a
separate instance? Because I only ever seem to have one
gnome-keyring-daemon running, and it seems non-deterministic whether
it's the one with --components=ssh or --components=gpg, yet all of the
sockets exist in /run/user/1000/keyring, and messages in the session log
seem to suggest that at least the SSH and GPG components are running.)