macOS は git clone エラーを使用します: アクセス許可が拒否されました (公開キー) 解決策

インターンシップの初日、私は macOS システムを使用して gitlab から git 経由でプロジェクト コードをプルし、エラーを報告しました: 権限が拒否されました (公開キー) インターネット上で多くのブログを検索しましたが、問題は解決できませんでした。一生懸命働いた朝、私は問題の根本を見つけました。

まず、git のインストールが正常であることを確認し、グローバル ユーザー名とメールボックスを構成します。

最初にエラーが報告されたとき、いくつかのブログのガイドラインに従って SSH キーが生成され、gitlab に追加されました。この部分の動作は次のとおりです

構成が完了した後、再試行しても失敗し、エラーは変わりません。

次のコマンドを使用して、正しいキーが使用されているかどうかを確認します。

ssh-add l

コンテンツがない場合は、次のコードを入力して ssh エージェントのキャッシュにキーを追加します。

ssh-add ~/.ssh/id_rsa

gitlab に接続するために次のコードを実行しようとしますが、それでもエラーが報告されます。

ssh -T [email protected]

エラーから重要な問題を見つけます:相互署名アルゴリズムがありません

キーワード検索によると、OpenSSHの上位バージョンではssh-rsaが有効になっていないことが分かります

検索すると次の解決策が見つかりました。

  1. PublickeyAcceptedKeyTypes + ssh-rsa 構成を追加
  2. 鍵生成アルゴリズムを置き換え、ed25519 アルゴリズムを使用して鍵を生成します。
  3. OpenSSHのバージョンを下げる

私は最初の方法を使用しました。最初にフォルダーに移動します: ~/.ssh

新しい構成ファイルを作成し、次のように入力します

Host *
		HostkeyAlgorithms +ssh-rsa
		PublickeyAcceptedKeyTypes +ssh-rsa

完了したら、wq を保存してください。再試行すると成功します。

おすすめ

転載: blog.csdn.net/wzc3614/article/details/131545415