84

友人の git リポジトリにファイルをプッシュしようとしていますが、公開鍵でエラーが発生します。

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

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

git remote -v戻り値:

origin  git@github.com:Sesamzaad/NET.git (fetch)
origin  git@github.com:Sesamzaad/NET.git (push)

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

4

21 に答える 21

125

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

http の代わりに ssh を使用します。http の場合はオリジンを削除します。

git remote rm origin

ssh URL を追加

git remote add origin git@github.com:<username>/<repo>.git

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

cd ~/.ssh
ssh-keygen

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

cat ~/.ssh/id_rsa.pub

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

ssh -T git@github.com

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

cd をプロジェクト フォルダーに移動します。git push -u origin master今動作します!

于 2014-09-02T12:44:20.377 に答える
52

この問題に対処するしかありませんでした。@ user3445140 の回答は役に立ちましたが、必要以上のものでした。

  1. で公開 SSH キーを取得しますcat ~/.ssh/id_rsa.pub
  2. 「ssh-rsa」を含むキーをコピーしますが、最後にコンピューター名を除外します
  3. https://github.com/settings/sshに移動します
  4. SSH キーを追加する
于 2014-09-04T13:37:01.637 に答える
14

Ubuntu 16.04 を実行しています

を使用してリモートオリジンを削除する

git remote rm origin

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

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

git push origin master

上記の手順でコードがレポに正常に追加されました。

于 2018-05-06T20:37:37.797 に答える
6

上記の解決策はどれもうまくいきませんでした。文脈上、私は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

于 2016-02-13T20:13:10.383 に答える
5

これは私にとってはうまくいきました。これまでで最も簡単なソリューション。

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

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

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

于 2015-04-18T12:45:58.407 に答える
1

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

このスレッドを確認してください: GitHub: Permission denied (publickey)。致命的: リモート エンドが予期せず電話を切りました

于 2014-01-09T22:41:00.300 に答える
1

~/.ssh に秘密鍵があり、それらをhttps://github.com/settings/sshに追加しても、ssh 経由で追加された Github リポジトリにコミットできない場合は、それらが追加されていることを確認してください。あなたのssh-agentに:

ssh-add -k ~/.ssh/[PRIVATE_KEY]

複数のサーバー (例: Bitbucket & GitHub) に複数の秘密鍵を追加でき、git を処理するときに正しい鍵が使用されます。

于 2020-01-20T15:20:30.573 に答える
0

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

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

その他のソリューションについては、このページに アクセスしてくださいhttps://github.com/gitlabhq/gitlabhq/issues/4730

于 2014-11-05T16:44:05.517 に答える
0

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

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

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

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

于 2017-10-17T23:08:32.117 に答える