KDE and ssh-agent


Hello lazyweb!

GNOME or to be more precise GNOME keyring has nice feature of including ssh-agent that integrates nicely with gnome-keyring. I find this feature very convenient since I don’t have to input my password every time I connect to a server. (I sincerely hope that no one is using ssh-keys without password protection).

Things are quite not as convenient on KDE side of desktop environments even though KDE provides handy tool called KDE wallet. Luckily with few simple scripts we can use the combination of KDE wallet and ssh-agent to provide similar functionality on KDE. So without further ado here is the guide.

  1. Open your favorite text editor and create file ~/.kde/env/ssh-agent.sh. Add following lines into file and save it.

    eval `ssh-agent`
  2. Create file ~/.kde/Autostart/ssh-add.sh and add following lines.

    export SSH_ASKPASS=/usr/bin/ksshaskpass
  3. Create file ~/.kde/shutdown/ssh-agent.sh and add following lines.

    eval `ssh-agent -k`
  4. As a last step you need to give execute rights for the scripts that we just created.

    chmod +x ~/.kde/env/ssh-agent.sh
    chmod +x ~/.kde/Autostart/ssh-add.sh
    chmod +x ~/.kde/shutdown/ssh-agent.sh

That’s it! Now simply log out and log back in and notice how kde-wallet will prompt for password and also your ssh-key password will be asked. In case you want check the “remember this password” option and your ssh-key password will be remembered by kde-wallet. One could argue that this type of functionality should be on default KDE installation but then again it wasn’t too hard to achieve this way either.