web-dev-qa-db-ja.com

Gitリポジトリにプッシュできません-許可が拒否されました

次の問題があります。

$ git Push -u Origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

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

私はこれを行う接続をすでにチェックしています:

$ ssh -vT [email protected]

出力が良好に見え、正しく認証されました。

さらに確認していると、次のことに気付きました。

$ ssh-add -l
The agent has no identities.

私はssh-agentを実行しようとしましたが、何も変わっていません:

$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-A1mhFqvqncuO/agent.766; export SSH_AUTH_SOCK;
SSH_AGENT_PID=767; export SSH_AGENT_PID;
echo Agent pid 767;
$ ssh-add -l
Could not open a connection to your authentication agent.

Arch Linuxを使用しています。どんな助けでも大歓迎です!前もって感謝します!

Github診断ヘルプはこちら

48
mc.suchecki

同様の問題があり、次のコマンドを実行して既知のキーのリストにキーを追加することで問題を解決しました。

ssh-add ~/.ssh/id_rsa

それがあなたの問題も解決することを願っています。 ;)

119
NEO

コンソールで行う必要があります(PuTTY sshクライアントを使用する場合):

  1. キーが存在しない場合、キーを生成します。

    cd ~/.ssh && ssh-keygen -lf ~/.ssh/id_rsa.pub
    

このステップで入力したパスワードを忘れないでください!

  1. 公開キーを画面に出力します。

    cd ~/.ssh && cat id_rsa.pub
    
  2. この文字列をクリックしてコピーし、マウスポインターを開始出力から終了に移動します。押す必要はありません Ctrl + V またはその他のキー。

  3. GitHubでアカウントにログインし、この公開キーを https://github.com/settings/ssh に追加します

  4. これで、gitをローカルで使用できます。

6

まだ読んでいない場合は、GitHubヘルプページでこのエラーを確認する必要があります。

エラー:許可が拒否されました(公開鍵)

この問題が発生するたびに、それはそのページにリストされた最後の問題によるものでした。GitHubアカウントに接続された現在のワークステーションからの公開キーがありませんでした。もちろん、GitHubは アカウントに公開キーを添付する方法 の手順も提供します。


tl; dr

現在の公開キーがGitHubアカウントに添付されていることを確認してください。

6
DaoWen

ssh -vT [email protected]を直接テストして動作したので、これで問題が解決するとは思わないが、ssh-agentを不適切に使用している。実行する必要があります

$ eval `ssh-agent -s`
Agent pid 767
$ ssh-add -l
The agent has no identities.

これにより、環境エクスポートコマンドが評価され、ssh-addおよびsshコマンドがエージェントと通信できるようになります。または、エージェントにシェル、ターミナルなどを起動するように依頼すると、適切な環境がセットアップされます。

$ ssh-agent bash
$ ssh-add -l
The agent has no identities.

この場合、シェルはssh-agentの子として実行されており、シェルが終了するとエージェントがシャットダウンします。

4
squid314

Ubuntuで同じ問題に直面した後、Sudoなしでremoteにアクセスすると、Sudoモードになっていることに気付きました。

それが私が問題を取り除く方法です、それが助けになることを願っています。

3
Syed Shahul

許可が拒否されました(公開キー)。今日、この問題に遭遇しましたが、最終的に解決策を見つけ、問題を解決しました。

たぶん、次の問題を確認する必要があります:

  1. githubアカウントを持っています
  2. git config your username and -mail
  3. ssh-key pri/pubペアを生成し、公開鍵をgitアカウントに追加します。これが役立つ場合があります。 new ssh keyの生成 および gitリポジトリをプッシュできません'
  4. ssh-keyが正常に追加されたことを確認します:ssh -V [email protected]
  5. がんばろう!
2
lujiwen

私の場合、デフォルト以外のSSHキーペアパスを使用していたため、GitLabでこの問題が発生しました。 @NEOの答えは完璧に機能します。

ssh-add ~/.ssh/other_id_rsa

ただし、新しいターミナルを開くたびにこれを行う必要がありました。

この変更を永続的にするには、~/.ssh/configそして次を追加します。

Host gitlab.company.com
RSAAuthentication yes
IdentityFile ~/.ssh/config/private-key-filename

より詳細な情報については、 gitlabのドキュメント をご覧ください。