web-dev-qa-db-fra.com

Impossible de négocier avec 40.74.28.9 Port 22: Aucun type de clé d'hôte correspondant trouvé. Leur offre: SSH-RSA

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?

5
Jaroslav Bezděk

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.

15
bk2204