27

I have recently switched from Gnome to Xfce on Ubuntu 9.04.

In Gnome, the first time I entered the passphrase, it prompted me to save the passphrase.

In Xfce however, I am prompted for the passphrase every time I connect.

Is there a simple way to save the passphrase in Xfce?

1
  • wfaulk's answer doesn't do what I originally asked for, but it's good enough so I've accepted it. With ssh-add, I only need to enter my passphrase once after I log in.
    – Alasdair
    Oct 9, 2009 at 11:42

6 Answers 6

6

Use ssh-agent and ssh-add?

6
  • 3
    ssh-add is a good suggestion. However I still have to run ssh-add and enter my passphrase once per session. That's much better than before, but not quite as convenient as when I was running Gnome.
    – Alasdair
    Oct 8, 2009 at 14:01
  • Gnome saves your private key password on disk somewhere? Ugh. Or maybe I don't know what you mean by "session".
    – wfaulk
    Oct 8, 2009 at 15:41
  • 2
    By session I mean each time I log in. Yes, gnome-keyring stores the passphrase on disk, but it is encrypted using the login password.
    – Alasdair
    Oct 8, 2009 at 16:30
  • Right, must run ssh-add every time. Really annoying. Oct 4, 2011 at 21:57
  • 1
    Yes, Gnome automatically ssh-add's all private keys in ~/.ssh, but Xfce does not.
    – graywh
    Feb 14, 2012 at 15:32
47

If you've installed Seahorse (sudo apt-get install seahorse), add export $(gnome-keyring-daemon --daemonize --start) to your .bashrc and you'll get the same SSH key behaviour as in vanilla Ubuntu.

3
  • 8
    This should be the accepted answer.
    – mreq
    Mar 22, 2013 at 10:24
  • 9
    Instead of adding the export line to your bash, you can also enable 'Launch GNOME services on startup' in settings > Session and Startup
    – jeroen
    Jan 10, 2015 at 23:33
  • @mreq I agree, this answer is more appropriate for what the OP was asking.
    – b10hazard
    Jul 12, 2015 at 12:11
8

I think this is what you're looking for:

Setup of SSH agent in Xubuntu 11.10 to get password-less authentication with use of public key | Hnygard.no

If you have not already done so, set up your private and public key (See Githubs description about SSH key half way through Set Up Git). It is important that you add a passphrase to your private key.

Install the package ssh-askpass:

sudo apt-get install ssh-askpass

Add «/usr/bin/ssh-add» to your start up. Go to Settings – Settings manager – Session and startup. Go to Application Autostart and add an item that runs the command «/usr/bin/ssh-add«:

On next login you’ll get the following dialog asking for your passphrase. After entering it, you can open a terminal or use sftp in the file manager without typing a password.

3
  • thx, this works for me!
    – Produnis
    Apr 5, 2014 at 20:44
  • No luck for me. Do you understand how ssh-add invokes ssh-askpass? That's not clear to me.
    – Air
    May 24, 2014 at 15:14
  • This is by far the best method I've found for working with ssh keys on XFCE. Easier than using the terminal and a lot less bloated than installing the entire gnome keyring system. Thanks!
    – Marlies
    Jul 15, 2014 at 10:01
4

I've also recently switched to xfce (i3 standalone to xfce+i3) and had the same issue.

In i3 I started /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 and put export $(gnome-keyring-daemon -s) into .bashrc, but in xfce that only worked for bash terminals, not for other applications like virt-manager.

But it turns out there is a simple gui setting for that:

In "Session and Startup":

  1. in the tab "Application Autostart" enable "SSH Key Agent (GNOME Keyring: SSH Agent)" (And if you want the other 2 gnome keyring entries)
  2. in the tab "Advanced" under Compatibility enable "Launch GNOME services on startup"

xfce -> Session and Startup -> Application Autostart

xfce -> Session and Startup -> Advanced

3

ssh application examines $SSH_ASKPASS environment variable (man ssh) and executes that application in order to get passphrase. You should switch this app to another one, that's capable of remembering: e.g. the one GNOME uses originally.

2

Just enable Gnome Services in the "Session and Startup" configuration.

Settings->Session and Startup->Advanced->Launch GNOME services on startup

1
  • 1
    Thanks! This should be the accepted answer. Nice and simple.
    – oldo
    Sep 18, 2021 at 11:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .