Fedora 13: SSH key management problems with gnome-keyring

Today I upgraded one of my machines from Fedora 12 to Fedora 13 using the fantastic PreUpgrade tool, I found that my usual SSH key management wasn’t working: I had to enter my password every time I connected to a server, instead of it being remembered after the first time, and forwarding authentication wasn’t working either.

These days, SSH key management is handled by gnome-keyring-daemon rather than ssh-agent and I found that gnome-keyring-daemon was only running with the “secrets” component. I did some digging and it turned out that (from /etc/xdg/autostart/gnome-keyring-ssh.desktop) the way things are set up at least in Fedora 13 is that the SSH component only auto-starts if the GConf key “/etc/xdg/autostart/gnome-keyring-ssh.desktop” is set to TRUE. A quick check with gconf-editor found that I didn’t have any GConf keys for gnome-keyring. Not sure if I ever had, or whether this is a new thing but either way that was the problem.

Now, this stuff should get set up automatically when gnome-keyring is installed, in the “postinstall” script of the RPM. So I re-ran (as root) the bit of that script which registers the GConf schemas:

export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-install-rule /etc/gconf/schemas/gnome-keyring.schemas

and then everything was fine after logout/login.
There were no errors in the upgrade log so I’ve no idea what the root cause was, but I’ve reported it.

Leave a Reply