1. ホーム
  2. ギット

[解決済み】Git: Gitを使用しているときにPermission denied (publickey) エラーを解決するにはどうしたらいいですか?

2022-03-23 01:36:57

質問

私はMac Snow Leopardを使用しており、ちょうど今インストールしたところです。 git .

試してみたところ

git clone [email protected]:cakebook.git

が、これではこのようなエラーになります。

Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/`
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

何が足りないのでしょうか?

また ssh-keygen をパスフレーズなしで使用しても、同じエラーが発生します。

どうすればいいですか?

ユーザーが事前にssh公開鍵/秘密鍵ペアを生成していない場合

この情報は theChaw で動作していますが、SSH pubkey 認証をサポートしている他のすべての git リポジトリに適用することができます。(たとえば [gitolite][1]、gitlab あるいは github を参照ください)。

<ブロッククオート

まず、自分の公開鍵/秘密鍵のペアを設定することから始めます。これは はDSAまたはRSAのいずれかを使用できるため、基本的に設定した鍵はすべて動作します。 ほとんどのシステムでは、ssh-keygen を使用することができます。

<ブロッククオート
  • まず、.ssh ディレクトリに cd してください。ターミナルを開いて実行します。
<ブロッククオート

cd ~/.ssh && ssh-keygen

  • 次にこれをクリップボードにコピーする必要があります。
  • OS Xの場合は実行します。 cat id_rsa.pub | pbcopy
  • Linuxで実行する場合。 cat id_rsa.pub | xclip
  • Windowsの場合(Cygwin/Git Bash経由)実行します。 cat id_rsa.pub | clip
  • Windows(Powershell)の場合、実行します。 Get-Content id_rsa.pub | Set-Clipboard (Thx to @orion elenzil)
  • ウェブサイトからキーをアカウントに追加します。
  • 最後に.gitconfigを設定します。
  • git config --global user.name "bob"
  • git config --global user.email bob@... (コンフィグが再読み込みされたことを確認するために、コマンドラインを再起動することを忘れないでください)

以上で、クローンしてチェックアウトすることができるようになります。

さらに詳しい情報は、以下をご覧ください。 https://help.github.com/articles/generating-ssh-keys (@Lee Whitneyに感謝) [1]: https://github.com/sitaramc/gitolite

-

ユーザーが事前にssh公開鍵/秘密鍵ペアを生成していた場合

  • githubやgitlabのアカウント設定で、どの鍵が認証されているかを確認します。
  • ローカルコンピュータから、対応する秘密鍵を関連付ける必要があるかどうかを判断します。

eval $(ssh-agent -s)

  • キーが配置される場所を定義する

ssh-add ~/.ssh/id_rsa