GNOME 3 and ssh-add

I’m using OpenSUSE 11.4 and the GNOME 3 packages in the GNOME:STABLE repository. I maintain an application and have a remote Mercurial repo hosted at BitBucket, which requires SSH to do any push/pull operation.

My passphrase is just that – a phrase, not a word – and it’s too long to type accurately without seeing it. I cut and paste it from a web page. When I’m asked by a console app for the passphrase, I can do that. The GNOME SSH passphrase dialog does not allow pasting or dropping, so I can either try to type it or hit cancel. Normally, ssh-add provided a way around this; it would ask you for the phrase on the console, and I could paste it.

This doesn’t work in GNOME 3. ssh-add still asks me for the passphrase, but when I try any operation that requires the key, the dialog pops up again. How is it possible to get ssh-add to work, or (preferably) get rid of the dialog?

Try:


SSH_ASKPASS=/usr/lib64/ssh/x11-ssh-askpass
export SSH_ASKPASS

The above assumes a 64 it opensuse install. If you have a 32bit install, remove “/lib64” from the above.

A followup to myself.

I think I misdiagnosed the problem.

I think your problem is that you have your public and private keys in $HOME/.ssh . The gnome keymanager preloads those, or pretends to preload those, and prompts for the key when first used. I moved my keys to a subdirectory $HOME/.ssh/keys and ever since that I have been seeing the standard prompt (the one that comes by default with openssh).

I tried that, and SSH simply couldn’t find my keys at all – I didn’t get prompted for a passphrase when I typed ssh-add, and “hg push” failed because it could not use the keys.

I am really unsure how you are doing things.

You should be able to use “ssh-add /path/to/private/key/file” (where you use the actual path). It should not matter where that file is, as long as you provide ssh-add with the path.