Après le début de l'utilisation de Nixos en tant que nouveau système de gestion de packages, je reçois l'erreur suivante lors de l'utilisation de GIT dans Azure Devops Repositories et de la clé SSH RSA:
jaroslavbezdek@mac> git pull
Unable to negotiate with 40.74.28.9 port 22: no matching Host key type found. Their offer: ssh-rsa
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Que puis-je faire avec ça, s'il vous plaît?
Avec SSH, il existe plusieurs types de clés et de clés RSA (le ssh-rsa
) Le type peut prendre en charge plusieurs types de signatures. Le type de signature ssh-rsa
fait référence à RSA avec SHA-1, tandis que le type de signature rsa-sha2-256
est RSA avec SHA-256 et rsa-sha2-512
est RSA avec SHA-512.
Dans le cas d'Azure Devops, il ne supporte que le type de RSA avec SHA-1 et SHA-1 est considéré comme très faible. Cela signifie essentiellement qu'il n'y a pas de façons sécurisées de se connecter sur SSH et jusqu'à ce qu'ils résolvent cela, vous ferez mieux d'utiliser HTTPS ou un service d'hébergement différent. GitHub, Gitlab et Bitbucket Tous supportent toutes les méthodes d'authentification sécurisées.
Si vous avez vraiment besoin d'utiliser SSH avec Azure Devops pour le moment, vous pouvez ajouter une entrée à votre ~/.ssh/config
Fichier pour contourner ceci:
Host ssh.dev.Azure.com
User git
PubkeyAcceptedAlgorithms +ssh-rsa
HostkeyAlgorithms +ssh-rsa
Cependant, sachez que ceci est une solution de contournement et il est connu de ne pas être sûr, vous devez contacter Azure DevoPs sur ce problème et passer à HTTPS jusqu'à ce qu'ils soient ou bougeant ailleurs.