Git:権限が拒否されました(公開鍵)致命的-リモートリポジトリから読み取れませんでした。Gitリポジトリの複製中


153

Gitリポジトリのクローンを作成できず、次のエラーが発生します。

krishna.soni@KRISHNACHANDRAS /c/Projects $ git clone http://stage.abc.com:10088/pqr
http://<url>/<repository> Cloning into '<repository>'... fatal: could not read Username for 'http://<url>': No such file or directory

私が読んだのBitbucket、Windowsと「致命的なの:のパスワードを読み取ることができませんでした」、まだ問題を抱えています。

さらに先に進みましたが、現在このエラーが発生しています

sh.exe": chown: command not found

krishna.soni@KRISHNACHANDRAS /c
$ git clone ssh://krishna.sonipayu.in@stage.payupaisa.
/projects
Cloning into 'C:/projects'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

> krishna.soni@KRISHNACHANDRAS /c
>     $ git clone ssh:<url>
>     ts
>     Cloning into 'C:/projects'...
>     Permission denied (publickey).
>     fatal: Could not read from remote repository.

Please make sure you have the correct access rights

リポジトリが存在します。


gitリポジトリでよろしいですか?
gravetii 2014年

はい、そうです 。私はgitの初心者ですが、クローン中にこのエラーが発生します。コマンドgit config --global user.name "John Doe"を使用してグローバル構成ファイルに電子メールと名前を追加しました$ git config --global user.email johndoe@example.com
KCS

主な理由は、リポジトリがあなたをgitサーバーのユーザーとして認識できないためです。ssh経由でサーバーにアクセスできますか?
МалъСкрылевъ

Githubの使用中に誰かがこの問題を抱えている場合は、help.github.com / en / articles / に記載されている手順に従ってください。問題は解決しました。
Rounak

回答:


69

Windows 7の問題ではなく、権限の問題のようです。

sshキーが認証されていません- Permission denied (publickey)

公開SSHキーを作成し、Gitリポジトリの管理者にssh公開キーの追加を依頼する必要があります

これを行う方法に関する情報:sshキーの保存が失敗する


27
これは奇妙です。リポジトリは公開されており、公開リポジトリのクローンを作成しています。管理者に、Githubでホストされているパブリックリポジトリのクローンを作成する許可を求める必要がある理由がわかりません。
Shailen 2014

5
ええ、偽です。管理者に何も尋ねる必要はありません。ローカルgitに問題があります。
Ivan Castellanos

3
なぜ難しいのですか?私は成功しましたが、痛みはありませんでした。
Niklas R.

9
公開リポジトリ用のキーを承認する必要はありません。HTTPSプロトコルを使用してください:stackoverflow.com/a/33072867/1385678
Diego V

225

リポジトリを取得しようとしているだけでプロトコル(ssh / https)を気にしていない人は、sshではなくhttps使用することもできます(サポートされている場合)。

だから例えばあなたが使う

git clone https://github.com/%REPOSITORYFOLDER%/%REPOSITORYNAME%.git

の代わりに

git clone git@github.com:%REPOSITORYFOLDER%/%REPOSITORYNAME%.git

6
これは、ssh権限が解決されない場合、またはその部分をスキップする場合に最適なフォールバック計画です。
Wahib Ul Haq

13
この回答により、メカニズムがからsshに変更されましたhttps。sshを使用してリポジトリにアクセスしても、元の問題は解決されません。これが質問への良い答えとしてどのように賛成票を集め続けることができるのだろうと思います。以下の他の答えはそれを適切に解決しています。
Armin、

3
元の問題は、リポジトリのクローンを作成しようとしているgit初心者です。目標が公開レポをプルダウンすることである場合、これが最も効果的な答えです。
Vivek Chavda 2018年

自殺から救ってくれてありがとう。これにより、ユーザー名とパスワードを知っていれば、これをプライベートリポジトリに使用できます。
BILL WAGNER

81

SSHを作成し、それをBitbucketアカウントまたはどこに追加した後もアクセスに関する問題がある場合は、GitBash、OSXまたはLinuxのターミナルで次の手順を実行する必要があります。

# Lists already added identities (‘ssh keys’)
ssh-add -l

次に、キーがリストに表示されない場合は、次のキーを追加します(identity実際の名前に置き換えます)。

# Add a new identity
ssh-add ~/.ssh/identity

これでうまくいきました。


3
ssh-add ~/.ssh/identityエラーを返す/Users/lee/.ssh/identity: No such file or directory
lee

14
「〜/ .ssh」から「ssh-add」を実行して(プロンプトが表示されたら「〜/ .ssh / id_rsa」ファイルのパスフレーズを入力して)、問題を解決しました。
ジェームズフューリー2017年

1
私は私のレポを引っ張ることができましたが、これを行わずにプッシュすることはできませんでした、乾杯!
Dimitar Nestorov 2017年

@james Fureyの回答は、ソースツリーがsshのURLをgitリポジトリとして識別するのに役立ちました。
YSRファン

2
何時間も汗を流し、いろいろなことを試した後、私のために働いた。唯一のことは、最終的にアイデンティティの代わりに自分のシステムで名前を使用することです。ターミナルでcdコマンドを実行して.sshフォルダーに移動し、ターミナルで「ls」コマンドを入力します。次に、上記のコマンドの「identity」を独自のファイルで再生します。ターミナルをsourcetreeに移動し、:cd ~その後、 cd .sshその後、 lsその後、(.pubファイル拡張子なしの名前をコピーし)、その後(このコマンドを実行)ssh-add ~/.ssh/(copied name)
Tejas

21

GitHubでも同じ問題に直面しました。これを解決する方法は次のとおりです!

  1. ここで説明するように、コンピュータ上のSSHキーを生成:生成SSH鍵
  2. GitHubアカウントにログインします:GitHubログイン
  3. アカウントに、新しく生成されたSSHキーを追加します:My account SSH keys
  4. git cloneプロジェクトを再試行してください。

魅力的に働いた!!
Prakhar

1
この回答を過去5年間に3つの新しいオペレーティングシステムで使用しましたが、毎回問題なく動作しました。
kotoole

どうやらHigh Sierraでは、ユーザーが.ssh / configファイルにキーを登録する必要があります。エルキャピタンは何とかそれなしで管理しました。
dsomnus

14

Macでこの問題が発生しました。GitリポジトリにアクセスするようにSSHを正しく設定している間、再起動後(およびMacがスタンドオフ状態のとき)、すべての資格情報が削除されました。どうやら、何らかの理由でpubキーが644に設定されていたため、キーチェーンから削除されました。読むには:

  • chmod 600 公開鍵
  • ssh-add ~/.ssh/[your private key]-これにより、IDが追加されたことが表示されます。必要なキーファイルは、.pub拡張子のないファイルです。
  • ssh-add -l 新しく追加されたIDが表示されます

編集:MacOSにはキーを削除する傾向があります-High Sierraアップデートをダウンロードした後(まだインストールしていません)、私のキーは削除されており、もう一度追加する必要がありました ssh-add


2
macOS High Sierraをバージョン10.13.1にアップグレードした後も、このソリューションは正確です。具体的には、Sourcetreeは、リモートリポジトリにコミットをプッシュしようとしたときに問題が発生したアプリでした。上記の手順で問題が解決しました。
ポールボンネビル2017年

10.13.4でこの問題が発生しましたが、このソリューションでうまくいきました。
Andrew Ebling

11

私も同じ問題に直面しました。私は次のことをしました、そしてそれは私のために働きました:

  1. WindowsのGIT GUIクライアントからキーを生成します。このキーをクリップボードにコピーします。
  2. bitBucket/git Webサイトでアカウントを開き、このキーをプロファイルに追加します。このようにして、サーバーは、あなたが正当なシステムからアクセスする正当なユーザーであることを認識します。
  3. それでおしまい。以降、すべてのプッシュコマンドが機能しました。

これは、RSAキーを "h"ドライブに配置したGit Bashを管理者として実行せずにRSAを生成したことを確認するのに役立ちました:oops:
tylerlindell

7

私の場合、リポジトリからクローン作成したいときに、「アクセスが拒否されました(公開鍵)致命的:リモートリポジトリから読み取れませんでした」と同じメッセージが表示されました。私の場合の解決策は、クローンの前にsudoを使用しない ことです。


@mustaphaに感謝します。本当に私の時間を節約できます。
vinay kumar

7

Github(またはBitbucket)がサーバーでsshキーを見つけることができません。

アカウント設定でキーを追加するだけです。


6

新しい公開SSH鍵を生成し、それをbitbucketまたはgithubに挿入して、

役に立たなかった-PC を再起動してみてください。それは私を助けました!!


ありがとう、これも私がやらなければならないことでした。
ステフ2018年

ターミナルを閉じて、新しいターミナルを開かないと動作しませんでした。
rahul

5

を実行して、新しいsshキーを作成する必要がありますssh-keygen -t rsa


@Joel Herokuの参照が削除されました。おかげで
ビニアム

4

エラーが発生しました...

Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

...ラップトップが不良なWindows 10のアップデートで亡くなり、出荷時の設定に戻された後、Git BashプロンプトからBitbucketに連絡を取ろうとしたとき。バックアップからすべてのsshファイルを復元しました。

エラーの原因は、コンピューターの再構築後のWindowsアカウント名の不一致であることが判明しました。公開鍵ファイルid_rsa.pubが、私のWindowsアカウント名、@記号、コンピューター名の順で構成された読みやすい文字列で終わっていることを知りました。

最初にコンピューターをセットアップしたときに、ミドルネームのイニシャルを含むWindowsアカウント名を作成しましたが、コンピューターを工場出荷時の設定にリセットすると、新しいDevOps担当者がミドルネームのないアカウント名を作成しました。

この問題を解決するために、私は自分の公開鍵ファイルid_rsa.pubを編集して、名前の最後のミドルネームの頭文字を削除しました。私は同じコンピュータ名でこだわっていたので、それで問題ありませんでした。ファイルの内容をWindowsのクリップボードにコピーしました。次に、Bitbucketにサインインし、自分のアバターの下のBitbucket設定に移動して、新しいコンテンツに貼り付けた新しい公開鍵を追加しました。

Git Bashプロンプトに戻って、次のコマンドを入力して動作することを確認しました...

ssh -T git@bitbucket.org

...そしてサインインしたというメッセージが返ってきました。


4

macOS / Linux(Ubuntu)の場合:

1.認証するには、ユーザー設定内からbitkeyにSSHキーペアの公開部分を追加する必要があります:ユーザー設定-> SSHキー

上記のパブリック部分は、通常〜/ .sshディレクトリにありますid_rsa.pub .pubPublicのファイル名の部分に注意してください。まだ持っていない場合は、生成するのに役立ちます

あなたはまだ終わっていません...

2.システムにどのリモートホストでどのキーを使用するかを知らせる必要があるため、これらの行を〜/ .ssh / configファイルに追加します

Host bitbucket.org
 IdentityFile ~/.ssh/PRIVATE_KEY_FILE_NAME

PRIVATE_KEY_FILE_NAMESSHキーペアの秘密の部分の名前はどこですか。これを変更していない場合、通常、デフォルトの名前は次のようid_rsa になります。この場合、PRIVATE_KEY_FILE_NAME上記で置き換えますid_rsa(秘密キーには .pub拡張子がありません)


「Ubuntu」のスペルを間違えたことに注意してください-編集は6文字以上にする必要があるため、編集を提案することはできません:)
Misha Nasledov

4

有用なスレッドであり、私はそれほど新しいものをテーブルにもたらしません。私が取った手順は、マキシムが参考にした説明の一部でもありますが、見落としている人もいます。セクションは、SSHキーをssh-agentに追加するです。

私はすでにssh-keyを生成していましたが、再起動後、自分のリポジトリの1つを複製できませんでした。

クローンを作成するには、ssh-agentを起動し、このエージェントに秘密鍵を追加する必要がありました。

eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa

3

git cloneWindowsコマンドラインからコマンドを実行しているときにも同じ問題に直面しました。しかし、コマンドはGit Bashから正常に実行されます


3

同様の問題がありました。私はsshキーを変更して再起動し、他のすべての「n」ソリューションを試しました。しかし、実際の問題は、gitlabのデフォルトプロトコルがsshからhttpsに変更されたことです。

リモートURLを確認する

git remote -v

リモートURLを変更する

git remote set-url origin https://URL

完璧です。sshを設定する必要はありません。
Rohit Parte

私も同じことをしなければなりませんでした。この場合、sshキーは機能しませんでした
Dani

致命的: ' bitbucket.org:xxxxxx/xxxxxxxxt ' にアクセスできません:ポート番号が 'r'で終わりました
nosequeweaponer

2

すべて失敗した場合は、私と同じように、GITをアンインストールして再インストールします。何らかの理由でこれが修正されます。

PS

  1. SSH公開鍵で新しい鍵を生成して更新してみました
  2. また、すべてのキーを削除して、新しいキーを作成しようとしました。
  3. そして、いいえ、私の.gitconfigには何の問題もありません

2

hubcliツールの修正:

  • git config --global hub.protocol https 長期的に
  • git remote add OOPS https://github.com/isomorphisms/go.git&& git push OOPS即時修正

このエラーは、hubデフォルトのhub.protocolgit-config値が間違っているため、コマンドラインツールで発生します。彼らはレポを

git://github.com/schacon/ticgit.git

githubが実際に受け入れるものの代わりに、すなわちhttps://github.com/schacon/ticgit.git


リーディングでLESS=+/"HTTPS instead" man hubは、上記の「長期修正」コマンドの出所を説明します。


これは私の日を救った!
ジェイ・リー

1

クローン作成中に、同様の問題が発生しました[私のエラー:アクセスが拒否されました(公開鍵)。致命的:リモートリポジトリから読み取れませんでした。適切なアクセス権を持っていることを確認してください。

-私の場合はbitBucket / UBUNTU14.04を使用していましたが、以前に生成したキーファイルのセットがすでにあり、ファイル名を変更していました。私は単にCOPIED標準id_rsaとid_rsa.pub&名の形式にファイルを。次に、問題なくコマンドを再実行しました。

OBTWHTTPスタイルのクローンを使用して、パスワードプロンプトを使用することもできました。


0

Linuxでも同様の問題がありました。私はgithubサーバーにログインしてデプロイキーを作成することで問題を解決しました。それはリポジトリの設定の下にあります。次に、公開鍵をコピーして貼り付けました(通常は〜/ .ssh / id_rsa.pubにありますが、構成が異なる場合があります)。このキーに書き込みアクセスを許可するチェックボックスがあります。それをクリックします(gitを使用してデプロイする場合を除き、その場合はクリックしないでください)。


0

同じエラーが発生しました。私の解決策は、ssh-agentがリモートのsshキーと同期しなくなったときにログアウトして再度ログインすることでした。

他の答えが自分の状況に当てはまらないように見える人がいる場合に備えて、ここにこれを追加します。


0

gitlab用にsshを設定しているときに同じ問題に直面していました。私はすでにsshを持っていますがgithub、それを上書きできませんでした。私のために働いたステップは次のとおりです:

  1. 新しいパスでSSHを生成し、sshリストに追加しますssh-add /path/to/new/id_rsa
  2. 名前のファイルを作成configして~/.ssh/使用します。使用しましたvi ~/.ssh/config/
  3. 新しく作成したファイルにこれを追加します

# GitLab.com server Host gitlab.com RSAAuthentication yes IdentityFile /path/to/new/id_rsa

  1. 保存して終了します。

端末を再起動してプッシュしてみてください、それはうまくいくはずです


0

オープンソースプロジェクトを複製してプルリクエストを送信する場合:

プルリクエストを送信できるように、オープンソースプロジェクトのクローンを作成したいと思いました。問題は、プロジェクトの所有者からの許可がないことでした。とにかく、私の意図はPRを提出することだったので、ここに実行可能な代替案があります。

私の解決策:

  1. フォークリポジトリ

フォークレポ

  1. 次に、フォークしたリポジトリからクローンを作成します。 フォークされたレポからのクローン

  2. 機能に取り組み、プルリクエストを送信します。



0

解決策:cat〜/ .ssh / id_rsa.pubに複製またはプッシュしようとしているサーバーで、GitHub、設定、SSHおよびGPGキー新しいSSHキー 貼り付けキーに移動します。


0

このエラーメッセージにはさまざまな理由が考えられます。sshなどで既に完全に機能しているリポジトリと並行して別のリポジトリをローカルにセットアップし、それを同じサーバーに接続しているが、他のリポジトリに接続しようとすると、同じエラーが発生しました。答えは見つかりませんでしたが、わかりました。だから私はそれを投稿します。うまくいけば誰かを助けます。

git remote add origin git@git.ourserver.com:teamalpha/repositorytwo.git

0

これらの回答のどれも役に立たない場合

  1. あなたはWindowsを使っています
  2. Puttyでキーを生成するか、PCにPuttyをインストールしている
  3. CMDまたはPowerShellでキーを生成します

試す

  1. キーを削除する
  2. ウィンドウでGit Bashを検索し、Git Bashコマンドラインで新しいキーを生成する
  3. オンラインリポジトリに公開鍵を追加する

次に、git clone後に確認し、yesと入力して確認します。クローンが開始されます。


-2

それは愚かかもしれませんが、私たちに起こりました:

bitbucketとSourcetreeを使用していて、クローンURLを新しいリポジトリダイアログにコピーアンドペーストするだけの場合、プルまたはプッシュするときに同じエラーが表示されます。

URLの前にある「git clone」のものを必ず削除してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.