[解決済み】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
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] Git で、ステージされていない変更を破棄するにはどうしたらいいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] masterブランチと'origin/master'が分岐している、'undiverge'ブランチの方法は?
-
[解決済み】Git サブモジュール head 'reference is not a tree' エラー
-
[解決済み】GitHubのメッセージの意味: メールのプライバシー制限のためプッシュが拒否されました。
-
[解決済み】Githubの認証に失敗した - ... GitHubはシェルアクセスを提供しない
-
[解決済み】gitが「変更をコミットするか、マージする前にstashしてください」と言うのを解決するには?
-
[解決済み】ローカルに変更があるにもかかわらず、git pushが「すべて最新」と言う
-
[解決済み】未マージファイルがあるため、Gitマージができない
-
[解決済み】ローカルGitブランチとそのリモートブランチを比較する方法
-
[解決済み] 無効なVCSルートマッピング - 私のプロジェクトで3つのエラーが発生しました。
-
[解決済み] git ls-remote と git ls-remote origin の違い。