"fatal: Could not read from remote repository." when using ED25519 SSH key
Summary
I created a Gitlab user, added the user to my group, created an ED25519 SSH key using ssh-keygen -t ed25519, and added the public key to the user's SSH keys. The user is unable to push changes to a repo. Here is the error:
# git push
The project you were looking for could not be found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
If I create an RSA SSH key using ssh-keygen (RSA is the default), and add the public key to the user's SSH keys in Gitlab, then the user can push changes.
Steps to reproduce
- Create a Gitlab user.
- Create an ED25519 key with
ssh-keygen -t ed25519 - Add the ED25519 SSH public key to the user's SSH keys in Gitlab.
- Create an RSA key with
ssh-keygen - Add the RSA SSH public key to the user's SSH keys in Gitlab.
- Do something like this:
# echo '-----BEGIN OPENSSH PRIVATE KEY-----
> b3BlbnNzaC1rZXktdjEAAAAABG5vbnUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
<redacted>
> p73nrKKwCnj9c5j0x0OoAAAACmNvZGVmaS1ib3QBAgM=
> -----END OPENSSH PRIVATE KEY-----' | tr -d "\r" | ssh-add -
Identity added: (stdin) (test-account)
# ssh-add -l
256 SHA256:LXdFYN23oUm2lQfnNhsmX5uBQvACnjF8OoxVzi4Q8wM test-account (ED25519)
# git rm test.yaml
rm 'test.yaml'
# git commit -m 'Removing test.yaml'
[master 85a59b3] Removing test.yaml
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 test.yaml
# git push
The project you were looking for could not be found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
# ssh-add -D
All identities removed.
# echo '-----BEGIN OPENSSH PRIVATE KEY-----
> b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
<redacted>
> 6Q9HD0889AZvSjv3AAAACmNvZGVmaS1ib3Q=
> -----END OPENSSH PRIVATE KEY-----' | tr -d "\r" | ssh-add -
Identity added: (stdin) (test-account)
# git push
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 230 bytes | 230.00 KiB/s, done.
Total 2 (delta 1), reused 0 (delta 0)
To gitlab.com:test-org/test.git
b74ccd2..85a59b3 master -> master
#
Edited by Kyle Smith