web-dev-qa-db-ja.com

40.74.28.9ポート22:一致するホストキータイプが見つかりませんでした。彼らのオファー:SSH-RSA.

新しいパッケージ管理システムとしてNixosを使用した開始後、Azure DevOpsリポジトリとRSA SSHキー内のgitを使用するときは、次のエラーが発生します。

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.
 _

私はそれを使えば、どうぞ?

5

SSHでは、いくつかの種類のキーとRSAキーがあります(ssh-rsa)種類は複数種類のシグネチャをサポートできます。署名タイプssh-rsaは、SHA-1を搭載したRSAを指し、シグニチャタイプrsa-sha2-256はSHA-256とrsa-sha2-512がSHA-512でRSAです。

Azure DevOpsの場合、SHA-1を使用したRSAの種類のみをサポートし、SHA-1は非常に弱いと考えられています。これは基本的にSSH上でそれに接続するための安全な方法がないことを意味し、それを修正するまでは、HTTPSまたは別のホスティングサービスを使用しているのが好きです。 GitHub、GitLab、およびBitbucketすべての認証方法をサポートします。

現時点ではAzure DevOpsでSSHを使用する必要がある場合は、これを回避するために~/.ssh/configファイルにエントリを追加できます。

Host ssh.dev.Azure.com
    User git
    PubkeyAcceptedAlgorithms +ssh-rsa
    HostkeyAlgorithms +ssh-rsa

ただし、これは回避策であり、不安定であることが知られているので、この問題についてAzure DevOpsに連絡して、自分が実行するまでHTTPSに切り替えるか、他の場所に移動する必要があります。

15
bk2204