My work computer is a painfully out of date Ubuntu 16.04 machine. I have it configured such that that lightdm invokes ssh-agent (not gnome-keyring-daemon) and ssh-agent invokes my session. This is not too dissimilar to how I have my personal laptop configured, except there I use Arch and use login on a tty instead of lightdm. My .xinitrc invokes ssh-agent which invokes my window manager. In the end, in both cases, X has been started in an environment that is a child process of ssh-agent, so every shell gets the SSH_AUTH_SOCK environment variable.
The odd thing about my work computer is that when I switch networks (either one WiFi network to another or wired <-> WiFi) there is a high probability that ssh-agent will terminate and my session's process will get reparented. This is super frustrating because I can't easily start a new ssh-agent and reparent my session under it - I have to log out and back in again.
I have not found any log messages containing ssh-agent or even agent in the systemd journal nor dmesg. The only debugging options ssh-agent seems to have is the -d option to run it in the foreground, I have not tried that yet because it is invoked by lightdm and I don't know if I would even be able to see the output.
Are there any debugging steps or known issues I should be aware of with the ssh-agent from openssh-client 1:7.2p2-4ubuntu2.2 ?
SSH_AUTH_SOCKenvironment variable is referenced to obtain credentials. It points to a socket file that no longer exists because the process that created the socket (ssh-agent) is no longer running. – Huckle Jun 08 '17 at 01:46ssh-agentissystemd(1), so the parent process ofssh-agentis not dying. – Huckle Jun 08 '17 at 02:15