José Abílio Matos wrote:
For a long time I have a script in ~/.config/autostart-scripts/ksshaskpass
#!/bin/sh export SSH_ASKPASS=/usr/bin/ksshaskpass ssh-add xxxxx_key < /dev/null
For F34 this is not working out of the box.
That is after entering the plasma session using ssh always asks for the pass phrase. On the other hand if I run the last line directly, after the startup stage, then the agent is added and it works from there.
ssh-agent on f34/plasma-wayland runs a little different than prior releases.
Prior releases run ssh-agent as part of the xinit process, but not too surprising, that mechanism is for X only.
In f34, I worked with fedora's openssh maintainer to run ssh-agent as a systemd user service (for plasma wayland sessions), per /usr/lib/systemd/user/ssh-agent.service
(This method inspired by other distros that already do this)
Unfortunately, systemd services cannot themselves export environment, so we needed one more piece /etc/xdg/plasma-workspace/env/ssh-agent.sh which contains just: if [ "$SSH_AUTH_SOCK" = "" ]; then SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket" export SSH_AUTH_SOCK fi
So that SSH_AUTH_SOCK env variable gets set for the plasma wayland session.
It's quite possible this new mechanism may make some legacy setups not work anymore, especially if those mechanisms try to access ssh-agent before SSH_AUTH_SOCK gets set (workaround there is to just set SSH_AUTH_SOCK yourself to match the env snippet above).
Hope this helps...
-- Rex