Sunday, December 15, 2013

Ksshaskpass Broken

Before I replaced my old computer, I had an odd thing happen with ksshaskpass. Suddenly it seemed to stop retreiving the passphrase from kwallet. I first noticed a problem with kwallet misbehaving. It began to appear as though there was no wallet in kwalletmanager. Then I noticed problems with Chrome auto-filling passwords and ssh started asking for the passphrase for my private key. For awhile I thought something was wrong with kwallet. I tried deleting my wallet and recreating it, and a few other things. After searching and not finding anyone having similar problems I gave up and resigned myself to the idea that I would just reinstall Kubuntu when I got my new computer. I recently tried to set ksshaskpass up on my new computer and immediately saw the same issue. I have also noticed it in my VM and laptop, both running Kubuntu.
Finally, after logging in and looking through the processes, I found the following:
2009  /bin/sh /home/swoogan/.kde/Autostart/ssh-askpass.sh 
2017  /usr/bin/ssh-add 
2024  /usr/bin/ksshaskpass Enter passphrase for /home/swoogan/.ssh/id_rsa:
It seems as though ksshaskpass is asking for the passphrase on stdin instead of retreiving it from kwallet. I still have not found a resolution to the issue, but for the mean time I have disabled my script from running at startup. To do that I ran:
mv .kde/Autostart/ssh-askpass.sh ~/
Now I just run the script ~/bin/askpass.sh manually, after logging in. I am sure that it is some sort of timing issue. It is something that is a result of a semi-recent change, because the same thing used to work before.