“アクセスが拒否されました(公開鍵)” gitにプッシュしようとするたびに

最近問題に直面しました:gitリポジトリ(私の場合はBitbucket)にプッシュしようとするたびに、そのエラーが発生します:

$ git push origin master [email protected]: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 

次のコマンドを実行して解決する方法を見つけました:

eval `ssh-agent` ssh-add -l ssh-add ~/.ssh/id_rsa 

これを実行してから、git push origin master、動作します。しかし、問題は、この問題がしばらくすると発生し始めることです(おそらく再起動後、何が原因で再び表示されるのかわかりません)。UPD:再起動が原因ではない可能性が高いので、直面したばかりです。上記のコードを実行してから10分後、同じエラーが発生しました。それ以降、ラップトップを再起動しませんでした。

このような動作の原因と、これを修正するにはどうすればよいですか?

コメント

回答

これは、sshキーを生成したときに、セキュリティのためにパスフレーズを入力したために発生すると思います。 ssh-agentを起動し、ssh / rsa_idを追加すると、パスフレーズと同じようになります。

[root@user xxxxx]# eval "$(ssh-agent -s)" Agent pid 12082 [root@user xxxxx]# ssh-add /home/user/.ssh/id_rsa Enter passphrase for /home/user/.ssh/id_rsa: Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa) git push -u origin master Counting objects: 94, done. 

回答

問題を投稿するのを忘れました:~/.ssh/config内のすべてのホストについて、誤って他のサーバーにキーを設定しました。そのため、このキーを使用して正しいホストではなく、すべてのホスト。すべてのホストに対して削除し、そのキーを必要とするホストに対してのみ設定し、修正しました。

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です