1. ホーム
  2. ssh

[解決済み] XX.XXX.XX.XX とネゴシエーションできません: 一致するホスト鍵の種類がありません。彼らの提案: ssh-dss

2022-07-25 01:26:25

質問

私は自分のウェブホストに git リポジトリを作成し、自分のコンピュータにそれをクローンしようとしています。以下は私がやったことです。

  1. 私はリモートサーバーにリポジトリを作成しました。
  2. キーペアを生成しました。 ssh-keygen -t dsa .
  3. ssh-agentに鍵を追加しました。
  4. サーバの公開鍵にコピーした ~/.ssh .

そして、コマンドを実行しようとした結果 git clone ssh://user@host/path-to-repository を実行しようとすると、エラーが発生します。

XX.XXX.XX.XX と交渉できません: 一致するホスト鍵の種類が見つかりません。彼らのオファー: ssh-dss

fatal: リモートリポジトリから読み取れませんでした。

正しいアクセス権があること、リポジトリが存在することを確認してください。

どういう意味ですか?

どのように解決するのですか?

最近のopensshのバージョンでは、デフォルトでDSAキーは非推奨となっています。GITプロバイダに対して、何らかの合理的なホスト鍵を追加するよう提案する必要があります。DSAだけに頼るのは良いアイデアではありません。

回避策として、GITプロバイダに ssh クライアントに、DSA ホスト鍵を受け付けることを伝える必要があります。 レガシーな使用法に関する公式文書 . いくつかの可能性がありますが、私は以下の行を ~/.ssh/config ファイルに追加することをお勧めします。

Host your-remote-host
    HostkeyAlgorithms +ssh-dss

その他の方法として、環境変数 GIT_SSH を使用してこれらのオプションを指定することです。

GIT_SSH_COMMAND="ssh -oHostKeyAlgorithms=+ssh-dss" git clone ssh://user@host/path-to-repository