web-dev-qa-db-ja.com

git Push:許可が拒否されました(公開鍵)

友人のGi​​tリポジトリにファイルをプッシュしようとしていますが、公開キーにエラーがあります。

git Push Origin testbranch
Permission denied (publickey).
fatal: Could not read from remote repository.

どこでどのように公開/秘密キーを定義しますか?

git remote -vは以下を返します。

Origin  [email protected]:Sesamzaad/NET.git (fetch)
Origin  [email protected]:Sesamzaad/NET.git (Push)

どんな助けも大歓迎です。

43
Wyguf Seak

私は同じ問題に直面していました、ここで私がしたことは私のために働いたものです。

Httpの代わりにsshを使用します。 httpの場合、Originを削除します。

git remote rm Origin

Ssh urlを追加

git remote add Origin [email protected]:<username>/<repo>.git

.ssh /フォルダー内でsshキーを生成します。 Enterキーを押して続行できるパスとパスフレーズを要求します。

cd ~/.ssh
ssh-keygen

キーをコピーします。キーを使用して表示できます。別のパスを指定していない場合、これがデフォルトのパスです。

cat ~/.ssh/id_rsa.pub

このキーをgithubアカウントに追加します。次は

ssh -T [email protected]

コンソールにウェルカムメッセージが表示されます。

プロジェクトフォルダーにcdします。 git Push -u Origin masterが機能するようになりました!

78
user3445140

私はこの問題に対処しなければなりませんでした。 @ user3445140の答えは私を助けましたが、私がするのに必要だった以上のものでした。

  1. cat ~/.ssh/id_rsa.pubで公開SSHキーを取得します
  2. 「ssh-rsa」を含むキーをコピーしますが、末尾のコンピューター名を除いて
  3. https://github.com/settings/ssh に移動します
  4. SSHキーを追加します
21
steel

これは私のために働いた。

まず、現在のリモートを削除します:

git remote rm Origin

次に、HTTPS経由でgit @ xxxを介してリモートを追加します。

git remote add Origin https://github.com/Sesamzaad/NET.git

プッシュは私のために働いた:

git Push Origin master
12
Cloud13th

Ubuntu 16.04を実行しています

を使用してリモートOriginを削除する

git remote rm Origin

を使用してhttp URLを設定する

git remote add Origin https://github.com/<<Entire Path of the new Repo>>

git Push Origin master

上記の手順により、コードがリポジトリに正常に追加されました。

9
vignesh787

上記のソリューションはどれもうまくいきませんでした。コンテキストとして、ubuntuを実行していますが、すでにssh-keyのセットアップドキュメントを確認しました。私にとっての修正は、ターミナルでssh-addを実行することでした。これにより問題が修正されました。

ソース: http://baptiste-wicht.com/posts/2010/07/tip-how-to-solve-agent-admitted-failure-to-sign-using-the-key-error.html

5
vsahu

Ssh-agentのキーを読み取ることで修正しました。いくつかの理由でそれはなくなった。

4
Bennet G.

これは私のために働いた。最も簡単なソリューション。

GitHub for Windowsを使用していてこのエラーが発生する場合、問題は間違ったシェルまたはモードでコマンドを実行しようとしていることです。通常のコマンドプロンプトまたはPowerShellgit Push Origin masterを実行しようとしている場合、これが問題です。

git Shellで行う必要があります。 Github for Windowsを開いて右クリックし、[ここでシェルを開く]を選択します。通常のPowerShellウィンドウのように見えますが、そうではありません。これは、初心者のように、私のようにGitするのが本当に混乱します。

これが他の人にも役立つことを願っています。

2
dberm22

おそらく公開鍵をgithubに追加する必要があります。 https://help.github.com/articles/generated-ssh-keys

このスレッドを確認してください: GitHub:Permission denied(publickey)。fatal:リモートエンドが予期せずハングアップしました

1
Walter B

Githubのドキュメントは本当に説明的です。

https://help.github.com/en/articles/adding-a-new-ssh-key-to-your-github-accounthttps://help.github。 com/en/articles/generated-a-new-ssh-key-and-adding-it-to-the-ssh-agent

キーを適切に設定するには、ガイドの最後の手順を実行する必要があると思います

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

解決策:git-hubプロファイルにsshキーを追加する必要があります。この問題を解決する手順に従ってください

  1. Gitでプッシュするフォルダーを右クリックします
  2. ここでgit-bashの問題を選択
  3. このコマンドでコマンドssh-keygenを書くと、キーが生成されます
  4. Cmdからキーをコピーするか、(C:/User/your_user/.ssh/)に移動します
  5. メモ帳でid.rsaを開きます。
  6. キーをコピーする
  7. Git-hubプロファイルに移動します
  8. 設定に移動
  9. SSHおよびGpgキーを選択します
  10. select新しいssh keyオプション
  11. タイトルにwindow-keyを追加します
  12. タイトルフィールドの下の説明部分にキーを貼り付けます
  13. セーブ

これでフォルダをプッシュする準備ができました

  1. アップロードするフォルダに移動します
  2. フォルダを右クリック
  3. ここでgit bashを選択します
  4. git init
  5. git add README.md
  6. git commit -m "最初のコミット"
  7. git remote add Origin https://github.com/ /
  8. git Push -u Originマスター

これがあなたに役立つことを願っています

0
Sohaib Anwaar

既にGITHUBサーバーに公開キーを追加している場合は、他の解決策を試すことができます。

私の場合、GIT PushはRUBYMINE内から失敗していましたが、ターミナルウィンドウからGIT Pushを実行することで問題は解決しました。

その他のソリューションについては、このページをご覧くださいhttps://github.com/gitlabhq/gitlabhq/issues/47

このエラーは、WindowsでUbuntu Bashを使用しているときに発生しました。

標準のWindows cmdプロンプトに切り替えましたが、エラーは発生しませんでした。

これは、ubuntuを使用する場合は、おそらくubuntu環境でssh秘密鍵をロードする必要があるため、回避策です。

0
Andrew

友人のリポジトリにデプロイするには、公開キーをリポジトリのデプロイキーに追加する必要があります。

リポジトリに移動し、キーを展開し、id_rsa.pub(または名前が付けられたもの)を「キーを展開」に追加します。

自分のアカウントにキーを追加しても、自分のアカウントが作成したリポジトリにのみ書き込みができると思います。組織によって作成された場合、キーをリポジトリのデプロイキーに追加する必要があります。

https://developer.github.com/v3/guides/managing-deploy-keys/

0
the tao

私は同じ問題に直面しました。あなたの友人に、彼のレポ設定に行って、新しいコラボレーターを追加することで、あなたをコラボレーターとして追加してもらってください。

招待メールを受け取り、それを受け入れます。正しいリモートを追加したことを確認してください。

0
user10137520

プロジェクトを独自のユーザーリポジトリにフォークする必要があります。
次にadd Origin

git remote add upstream your-ssh-here <br>
git fetch upstream <br>
git branch --set-upstream-to=upstream/master master
0
Tal Hakmon