【Gerrit】SSh キーを正しく追加しましたが、「許可が拒否されました (公開キー)」というエラーが報告されました。致命的: リモート リポジトリから読み取れませんでした

git開発環境のデプロイメント

gitbash をインストールし、ユーザー名と電子メールを構成します。

git config --global user.name "username"
 
git config --global user.email "email"
 

キーを生成する

ssh-keygen -t rsa -C ‘你的邮箱’

生成されたキーを確認する

cd ~/.ssh

Windows の [c ディスク -> ユーザー -> 自分のユーザー名 -> .ssh] に id_rsa およ​​び id_rsa.pub ファイルがあるかどうかを確認します。
id_rsa.pub ファイル内の公開キーを Gerrit に設定するだけです

問題の説明

新しい開発環境を展開するとき

Gerrit クローン コードを使用すると、おそらく次のエラー メッセージが表示されます:
アクセスが拒否されました (公開キー) 致命的: リモート リポジトリから読み取れませんでした。

理由

OpenSSH は、セキュリティ上の理由から、バージョン 8.8 以降、rsa 暗号化キーを非推奨にしました。
OpenSSH は、rsa をクラッキングするコストが小さすぎると考えているため、リスクがある場合は無効にされます。
次のコマンドを渡すことができます。

ssh -v [git服务器IP地址]

たとえば、
ここに画像の説明を挿入
Gerrit サーバーの OpenSSH バージョン番号を確認するには、
それが 8.8 以上であれば、この方法を使用できます。

解決

rsa の代わりに ed25519 を使用できます

ssh-keygen -t ed25519 -C "你的git邮箱"

他の手順は、rsa アルゴリズムを使用した場合と一致してい
ます。以下を参照してください。git ssh キーの設定
(注: rsa アルゴリズムを使用して生成された公開鍵ファイルのデフォルト名は「id_rsa.pub」で、公開鍵のデフォルト名は「id_rsa.pub」です) ed25519 アルゴリズムを使用して生成されたファイルは「id_ed25519.pub」です)

おすすめ

転載: blog.csdn.net/weixin_39085822/article/details/129830226