質問
Git/Gerrit プロジェクトはアクセス許可を開き、ssh-keygen も生成して設定しましたが、「アクセスが拒否されました (公開キー)」というメッセージが表示され、まだ正常に使用できません。
理由
OpenSSH はバージョン 8.8 以降、セキュリティ上の理由から rsa 暗号化キーを放棄しています。OpenSSH は、rsa クラックのコストは 50,000 米ドル未満であると考えているため、コストが少なすぎると感じており、リスクがある場合は無効にしています。
コマンド ssh -v [git サーバー アドレス] を使用して、Gerrit サーバーの OpenSSH バージョン番号を表示します。好き:
ssh -v 10.0.10.208
ここで、openssh のバージョン番号が 8.8 以上の場合は、この方法を使用できます。
解決
マシンの .ssh ディレクトリに入り、サフィックス名を付けずに以下の新しい構成ファイルを作成します。
設定を開いて最後に追加します。
Host gerrit.xxxxx.com
HostName gerrit.xxxxx.com
User Gerrit用户名(例如:test)
PubkeyAcceptedKeyTypes +ssh-rsa
IdentityFile ~/.ssh/id_rsa
Port 29418(Gerrit端口)
クローンを構成すると、問題は解決します。