Force RSA key support for Azure DevOps Git SSH
If you're using Azure DevOps Git SSH you have to use an RSA key. This is because Azure DevOps doesn't support the newer ed25519 keys (at time of writing). However newer versions of OpenSSH prefer ed25519 keys over RSA keys.
You have to force OpenSSH to use RSA keys for Azure DevOps Git SSH. You can do this by setting HostKeyAlgorithms
and PubkeyAcceptedKeyTypes
in your ~/.ssh/config
file:
Host myazuredevops
HostName ssh.dev.azure.com
User myusername
IdentityFile ~/.ssh/id_rsa
AddKeysToAgent yes
PreferredAuthentications publickey
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
IdentitiesOnly yes
Then you can connect to azure with git clone git@myazuredevops:myorg/myrepo.git
. Just replace ssh.dev.azure.com with myazuredevops
.