GitHub:権限が拒否されました(公開鍵)。致命的:リモートエンドが突然ハングアップした


197

以下の手順に従って、プロジェクトをアップロードしました。

グローバル設定:

 Download and install Git
  git config --global user.name "Your Name"
  git config --global user.email tirenga@gmail.com
  Add your public key


Next steps:

  mkdir tirengarfio
  cd tirengarfio
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:tirenga/tirenga.git
  git push origin master

しかし、私はこのエラーを受け取ります:

権限が拒否されました(公開鍵)。致命的:リモートエンドが突然ハングアップした

回答:


24

私にとっての問題は、sudoを介したクローンの実行でした。

ユーザー権限のあるディレクトリ(/ home / user / git)にクローンを作成すると、問題なく機能します。

(説明:スーパーユーザーとしてコマンドを実行しても、ユーザーとしてコマンドを実行する場合と同じ公開鍵では機能しません。そのため、Githubは接続を拒否しました。)

このソリューションでは、SSHキーがすでに設定されている必要がありますhttps : //help.github.com/articles/generating-ssh-keys


1
このソリューションは、learner_19によってすでに投稿されているものに非常に近いようです
Erik

125

公開鍵をgithubに追加する必要がありました。https://help.github.com/articles/generating-ssh-keys


3
Linuxマシンを実行している場合、emacsまたはnanoを使用していると、id_rsa.pubファイルの内容をコピーするのが難しい場合があります。テキストエディタでコピーしてみてください(メモ帳、TextEdit、またはgeditで十分です)。これらがない場合は、vimを使用できます。
Gokul NK 2012

4
@GokulNK他の方法は、ページが推奨するように、xclipを使用することです。
w4etwetewtwet 2013年

7
cat ~/.ssh/id_rsa.pubオプションかもしれませんか?:p
torr

pbcopy < ~/.ssh/id_rsa.pubOS Xで使用して、それをcmd+vgithubページに貼り付けることができます()。
user3648895 2017

28

はい、それは公開鍵の問題です。 私はWindowsユーザーで、以下のページでこの問題を解決できます。

http://help.github.com/win-set-up-git/

より正確には、このリンクは役立つはずです

https://help.github.com/articles/error-permission-denied-publickey


57
これにより理論的には質問に答えることができますが、答えの本質的な部分をここに含め、参照用のリンクを提供することが望ましいでしょう
Lix

28

RSAキーペアを作成した後、次を使用してそれをSSHに追加する必要があります。

ssh-add ~/.ssh/id_rsa

または、RSAキーペアを作成した場所。


命の恩人!あなたは頭に釘を打ちました。ありがとう
Tash Pemhiwa

同意します。最初にssh-agentが実行されているかどうか(GitHubのドキュメントで実行されているかどうか)、およびキーがキーリングに追加されているかどうかを確認することが重要です。ただし、ssh-agentのキーリングにある場合でもキーを使用できなくなる可能性があるため、確認する価値のある何かが秘密キーの適切なアクセスモードであり、0600(chmod 600 ~/.ssh/id_rsa、基本的に)である必要があります。
チカミチ2016

18

ユーザー名とリポジトリ名を使用して次のコマンドを入力します。

git clone https://github.com/{user name}/{repo name}

Ubuntuではこれは完全に機能します。


安全な接続を確立するにはhttpsプロトコルが必要だと思います。これが機能する理由です。Git @ github ..はマシンに対して安全ではありません。
Timo

16

チュートリアルで久々に解決策を得ました。

私はこのリンクのgithubチュートリアル-> https://help.github.com/articles/error-permission-denied-publickeyを実行しましたが、すべてのステップで接続できました。しかし、私がgit push -u origin masterを実行しようとしたときに、次のエラーが発生しました。

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

正しいアクセス権があることを確認してください

それは私がそれを修正した方法です!! ターミナルを使用してプロジェクトディレクトリに移動し、チェックアウトします

$git remote -v

あなたはこのようなものを得るでしょう:

origin  ssh://git@github.com/yourGithubUserName/yourRepo.git (fetch)
origin  ssh://git@github.com/yourGithubUserName/yourRepo.git (push)

git@github.com以外の何かを使用している場合は、次のコマンドを入力して、gitディレクトリの構成ファイルを開きます。

vi .git/config

そして、ラインを設定します

[remote "origin"]

url = ssh://git@github.com/yourGithubUserName/yourRepo.git

fetch = +refs/heads/*:refs/remotes/origin/

私にとっては、git @ github.comを<myusername> @ github.comに置き換えることで実際に機能しました
Eduard Feicho '28

「git remote -v」コマンドは私が以前に見たものではなく、私のリポジトリの1つが機能していて、もう1つのコマンドが「Permission denied(publickey)」を返したときに理解するための鍵であることがわかりました。 「git ls-remote」を実行してみました。非常に便利。ありがとう。
Kevin

6

私の場合、メインユーザー用に既に公開キーを持っているので、別のユーザー用に公開キーを設定する必要がありました。ユーザーを切り替えて上記のリンクのコマンドを実行すると、テストサーバーのセットアップを問題なく実行できました。


同様の問題-SSHでセットアップされた実際のユーザーとしてではなく、rootとしてサインインしました(これを見落としました)。何かのために働くというコミットを得ることができませんでした。元のユーザーに修正された問題に戻りました!
リチャードホリス

1
実際に修正を実行する方法についての説明の明確な欠如。
Richard

私はそれを綴る必要はありません、これはあなたのためですリチャード!非rootアカウントを使用していました。githubのヘルプURL(help.github.com/articles/generating-ssh-keys#platform-linux)からsudoプレフィックスを付けてコマンドを実行する必要がありました。
Dan Power

5

私はこの問題を抱えていましたが、上記の解決策はどれもうまくいきませんでした。クローンとフェッチはできましたが、プッシュできませんでした。結局、問題はurl私の.git/configにあることがわかりました。

git@github.com:<username>/<project>

ssh://github.com/<username>/<project>.gitまたはではないhttps://github.com/<username>/<project>.git)。


2
SSH接続の場合、そのgit@部分は魔法です。だからssh://git@github.com/username/project.gitまた働く。
ビショップ

.gitは本当に重要です。このソリューションは完璧に機能します。
OnurGöker2016年

5

ここでの答えがどれもうまくいかなかったので、ssh -vT git@bitbucket.orgを使用して、Bitbucket(またはGithub、この場合は問題ではない)への接続の問題を最終的に追跡しました。

私の場合、失敗はRSAの代わりにDSAキーを使用したことが原因でした。どうやら、SSHクライアントはそれを許可しなくなったようです。

debug1:PubkeyAcceptedKeyTypesにないため、ssh-dssキー/c/Users/USER/.ssh/id_dsaをスキップします

解決策は、これを.ssh / configに追加することでした:

Host *
    PubkeyAcceptedKeyTypes +ssh-dss

これにより、ssh-dss鍵タイプが既存のすべての受け入れ済み公開鍵タイプにエレガントに追加されます。これが行われた後、gitは問題なくBitbucketにsshを実行できます。


これは、2015年12月のDebian不安定マシンでの私に対する解決策でした。アイデンティティの選択を強制するためのエントリがすでにあるため、「Host bitbucket.org」に制限しました。
ビットマッシャー

3

私の問題は、Mac端末で入力するたびにsshキーに特定の名前を付けようとしたことssh-keygenでした。

「ssh-keygen」が生成する名前をそのまま残して問題を解決しました= id_rsa。Macの.sshフォルダーに2つのキーが格納されますid_rsa。これは秘密キーであり、id_rsa.pubは公開キーです。次に、コードをからid_rsa.pubGitHubアカウント設定にコピーして保存しました。問題が解決しました。


わたしも。名前を空のままにすると、問題が解決しました。ありがとう。
バーク

男、あなたは私の日をやった!特定のキー名のため、2週間はコンソールで!ありがとう!
eilas

それが役に立ててうれしい!@eilas
paopao

これが機能する理由は、ほとんどのシステムでデフォルトの秘密鍵(~/.ssh/id_rsa~/.ssh/id_dsaおよび~/.ssh/identity)がSSH認証エージェントに自動的に追加されるためです。
maffo


2

公開鍵を追加することが解決策です.ssh鍵を生成する場合:https : //help.github.com/articles/generating-ssh-keys に段階的な手順があります。

ただし、キーが正しい方法で生成されない場合、問題は解決しません。これも便利なリンクであることがわかりました:https : //help.github.com/articles/error-permission-denied-publickey

私の場合の問題は、sudoを使用せずにsshキーを生成していたことですが、gitコマンドを使用するときはsudoを使用する必要がありました。上記のリンクのこのコメント「sudoなしでSSH鍵を生成する場合、sudo git pushなどのコマンドを使用しようとすると、生成したSSH鍵は使用されません。」助けて頂きました。

したがって、解決策は、キー生成コマンドとgitコマンドの両方でsudoを使用する必要があったことです。あるいは、sudoがどこにも必要ない場合は、2つの手順のいずれでも使用しないでください。(キー生成とgitコマンド)。


1

WindowsでSSHまたはGitクローンを実行しているときにも、同様の問題に直面しました。以下の調査結果は私の問題を解決するのに役立ちます:

  • 「rhc setup」または他のsshメソッドを実行してsshキーを生成すると、ホームフォルダーの.sshフォルダーに秘密キーファイルid_rsaが作成されます。デフォルトはC:\ User \ UserIDです。
  • Git for Windowsのインストールディレクトリには、独自の.sshフォルダーがあります。git / sshを実行すると、このフォルダーで秘密鍵ファイルid_rsaが検索されます
  • id_rsaをホームフォルダーの.sshフォルダーからgitインストールディレクトリの.sshフォルダーにコピーして問題を解決しました

また、ホームフォルダーでデフォルトの.sshフォルダーを使用するようにgitに「伝える」方法はあると思いますが、それでも方法を理解する必要があります。


1

私にとっては、次のように機能しました:

GitHubでsshリンクをに変更しhttps、次のコマンドを実行しました。

$ git init
$ git remote add origin https:...
$ git add .
$ git commit -m "first commit"
$ git push origin master

0

WindowsストアでUbuntuを使用する

Linux用のWindowsサブシステム

、git pushはさまざまなアカウントで機能します。


0

Linuxマシンを使用している場合は、以下を確認してください。

  • opensshをインストールしていますか
  • もしそうなら、あなたは既存の公開鍵を持っていますか?そうでなければ、それを生成する必要があります。
  • githubアカウントに追加された公開鍵です。

新しいSSHキーを生成してGithubアカウントに追加すると、問題が解決しました。詳細については、このページをご覧ください。GitHelp


0

タイプ接続をsshからhttpsにブランチするように変更してみてください。

  1. nano project_path/.git/config
  2. 置き換えgit@github.com:username/repository.githttps://username@github.com/username/repository_name.git
  3. ファイルを保存ctrl+o

その後、git pull公開鍵なしで試すことができます



-1

Macを使用している場合にこの問題をすばやく解決するには、OSXアプリからサインアウトして再度ログインします。


-1

私の問題は、秘密鍵のパスフレーズでは機能しないことでした。

それが誰かを助けることを願っています。



-3

上記の解決策を試しましたが、まだ失敗しました。私はここで最終的に私のために働いた解決策を見つけました-リモートリンクを削除してから再度追加しました


-4

Windowsでも同じ問題が発生しました。SSHからHTTPSに切り替えて、Git PUSHを実行しました。

git push -u origin master
Username for 'https://github.com': <Github login email>
Password for <Github login>: xxx

成功しました!お役に立てれば。


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