Ssh-ed25519 key not working with GitLab Enterprise Edition 13.6.7-ee

I have been able to access our GitLab Enterprise Edition 13.6.7-ee using a RSA type SSH key registered in our on-prem Gitlab server. However, when I switch to a newly generated ssh-ed25519 key, git stopped working: It started to prompt for password for the “git” user, instead of passphrase for the key.

I checked the documentation for Gitlab. It seems that ED25519 key has been supported by Gitlab since version 12.10.

Any idea? Thank you!

What distro did you install gitlab on? Bear in mind the ssh server is from the distro you installed it on and it needs to be a version that supports ed25519.

I don’t have access to the Gitlab server. But I am pretty sure that it is either SLES 12.5 or RHEL 7.x or 8.x. I have used ED25519 keys with SSH to other Linux servers that I do have access to.

I tested with rhel7 and ed25519 works with this, so it should work with rhel8 too. Haven’t a SUSE installation to check/test, but expect that would be fine also.

Check that the key is pasted correctly under your user preferences, and then attempt something like this:

ssh -vvv git@yourserver

then we can see from the debug output from ssh where the problem seems to be. You can also do:

ssh -T git@yourserver

when I do this, I get this response:

ian@elise:~$ ssh -T git@gitlab.com
Welcome to GitLab, @iwalker!

obviously using the public gitlab server in my example, but change this for yours. We’ll then see from the debug output.

When copying the key, the easiest way is do:

cat .ssh/id_ed25519.pub

and copy the entire line and paste this in your profile. I expect you probably did that anyway, but just wanted to be sure. It should look similar to below:

ssh-ed25519 AAAAsomekeyvaluehere user@hostname