I have my own ssh server (on raspberry pi 5, Ubuntu Server 23) but when I try to connect from my PC using key authentication (having password disabled), I get a blank screen. A blinking cursor.
However, once I enter the command eval "$(ssh-agent -s)"
and try ssh again, I successfully login after entering my passphrase. I don’t want to issue this command every time. Is that possible?
This does not occur when I have password enabled on the ssh server. Also, ideally, I want to enter my passphrase EVERYTIME I connect to my server, so ideally I don’t want it to be stored in cache or something. I want the passphrase to be a lil’ password so that other people can’t accidentally connect to my server when they use my PC.
reboot makes no difference. A new terminal gives the symptoms from the start.
I think I found a bad workaround. If I add this script to ~/.zshrc (because I’m not using bash but zsh)
SSH_AUTH_SOCK=/tmp/ssh-agent-$USER-socket export SSH_AUTH_SOCK if [ ! -S "$SSH_AUTH_SOCK" ]; then eval $(ssh-agent -a "$SSH_AUTH_SOCK") fi
then it works. But I think I’m still using the ssh agent which I actually should not be using. At least it’s asking for the passphrase every time, which is nice. Even in the same terminal after ssh logout.
EDIT: The first two lines do the trick as well:
SSH_AUTH_SOCK=/tmp/ssh-agent-$USER-socket export SSH_AUTH_SOCK
EDIT: If I change this SSH_AUTH_SOCK to ANYTHING else, it also works. So
/run/user/1000/gcr/ssh
does not work. I gave ample permission to this file, so that cannot be the problem. Perhaps BECAUSE this is a file. I think the SSH_AUTH_SOCK should point to a nonexisting file because then it makes temporarily a special file that it needs. Ok I’m just shooting in the dark.Minimise your windows one at a time and check that the gnome keyring hasn’t popped up a dialog box sonewhere behind everything else that’s asking you if it’s okay to proceed.
No unfortunately not… Would’ve been a real pain.