ssh-agent fighting gnome-keyring on Ubuntu Gnome 16.04
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gnome-keyring (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Sometimes I open a terminal and try to login to a remote server, just to be greeted by a command-line-based prompt asking for my password. Whenever that happens, it is ssh-agent instead of gnome-keyring that is providing the SSH agent capabilities:
$ echo $SSH_AUTH_SOCK
/tmp/ssh-
$ ps -p 4592 -f
UID PID PPID C STIME TTY TIME CMD
xeno 4592 4576 0 20:53 tty3 00:00:00 /usr/lib/
$ ps -p $SSH_AGENT_PID -f
UID PID PPID C STIME TTY TIME CMD
xeno 4652 4592 0 20:53 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/im-launch gnome-session --session=gnome
I usually close the GNOME Terminal and open a new one (sometimes I must do this more than once), and I eventually get the expected output:
$ echo $SSH_AUTH_SOCK
/run/user/
$ ps -p $SSH_AGENT_PID -f
UID PID PPID C STIME TTY TIME CMD
xeno 4652 4592 0 20:53 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/im-launch gnome-session --session=gnome
Interestingly, the $SSH_AGENT_PID variable seems to continue pointing to the process where ssh-agent is running.
Generally once I get the keyring socket in the $SSH_AUTH_SOCK environment variable, it will stay that way even when I close the terminal and launch a new one.
This seems to be a weird conflict between two programs offering the ssh-agent service.
Changed in gnome-keyring (Ubuntu): | |
assignee: | nobody → HECTOR DAVID (hektve) |
Changed in gnome-keyring (Ubuntu): | |
assignee: | HECTOR DAVID (hektve) → nobody |
I have located a way to disable ssh-agent by commenting out the use-ssh-agent line from file "/etc/X11/ Xsession. options" . But even after doing this it is not guaranteed that the $SSH_AUTH_SOCK variable will be set when I open a new terminal, even while doing so several minutes after I have logged into my GNOME session, presumably when all session programs are running. Sometimes I open a terminal and see that $SSH_AUTH_SOCK is set, then close it and open a new one a few minutes later, and there is no $SSH_AUTH_SOCK anymore.