Summary: | konsole should pop-up a dialog to request for an ssh-key password and offer to save it in kwallet | ||
---|---|---|---|
Product: | [Applications] konsole | Reporter: | Craig Magina <Craig.Magina> |
Component: | general | Assignee: | Konsole Developer <konsole-devel> |
Status: | RESOLVED DUPLICATE | ||
Severity: | wishlist | CC: | adaptee |
Priority: | NOR | ||
Version: | 2.7.1 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Craig Magina
2011-09-20 16:04:39 UTC
You may want to try ksshaskpass[1], and take a look at bug #81067 [1] http://kde-apps.org/content/show.php/show.php?content=50971 I was curious as to how gnome-terminal handles this and it appears ssh-askpass-gnome is built from openssh. A gnome environment does not use the SSH_ASKPASS environment variable as it seems to be tightly integrated into the openssh bits. I am not familiar with how gnome works, but I think that integration is provided by gnome-keyring, not by gnome-terminal itself. Here is what I find when running gnome3 : $ env | grep SSH_AUTH_SOCK SSH_AUTH_SOCK=/tmp/keyring-FL0ewA/ssh That is interesting, because normally SSH_AUTH_SOCK is set as "/tmp/ssh-xxxx/agent.<pid>" which is owned by ssh-agent. `# fuser /tmp/keyring-FL0ewA/ssh` tells me that file is own by a process running as `/usr/bin/gnome-keyring-daemon --start --components=ssh` So it seems that gnome-keyring-daemon is doing the job of ssh-agent. You are right on the mark with that. An excerpt from the gnome-keyring sources. SSH and GPG agents ------------------ The GNOME keyring includes the functionality of the SSH and GPG agents, and it can break some setups, especially if ssh-agent and/or gpg-agent is started by hand. It appears the way they get their integration is via gnome-keyring's ssh and gpg agents and the ssh-askpass-gnome binary that is included with openssh's contrib. I have ksshaskpass installed and the SSH_ASKPASS environment variable is set properly, however I only see the dialog if I run 'ssh <hostname>' from krunner. If I type the same thing inside of a konsole or if I have a konsole profile set to execute the same command I do not get the pop-up, just the in-terminal password prompt. Is this due to the statement that ssh-add will only call ssh-askpass if ssh has been called from outside of a terminal? (In reply to comment #6) > (In reply to comment #6) > Yes, ssh-add always ignores SSH_AHSPASS and reads passphrase from stdin if stdin is a tty. Currently I run ksshaskpass automatically right after login into KDE, and it prompts a dialog for opening kwallet. Here is an simple script ~/.kde4/Autostart/ksshaskpass #!/bin/sh if which ksshaskpass &> /dev/null ; then #SSH_ASKPASS=$(which ksshaskpass) ssh-add < /dev/null fi This is not as ideal as the on-demand way in gnome. But it is better than none. Anyway, such integration is out of the scope of konsole and should be provided by other component of KDE, as in gnome. Just my 2 cents. (In reply to comment #7) > A leading '#' was added by accident. It should be : if which ksshaskpass &> /dev/null ; then SSH_ASKPASS=$(which ksshaskpass) ssh-add < /dev/null fi *** This bug has been marked as a duplicate of bug 81067 *** I would agree that this is outside the scope of konsole. Thanks for all of your input. |