无法推送到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 git@github.com
和输出看起来不错,我是正确的authentication。
在进一步检查时,我注意到:
$ 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诊断帮助这里。
我有类似的问题,我的问题是通过运行以下命令将我的密钥添加到已知密钥列表解决:
ssh-add ~/.ssh/id_rsa
希望它也能解决你的问题。 ;)
你需要在你的控制台( 如果你使用一个腻子SSH客户端 ):
-
生成密钥,如果密钥不存在:
cd ~/.ssh && ssh-keygen -lf ~/.ssh/id_rsa.pub
不要忘记密码,在这一步input!
-
输出您的公共密钥到屏幕:
cd ~/.ssh && cat id_rsa.pub
-
通过单击复制此string并将鼠标指针从开始输出移动到结束。 不需要按Ctrl + V或任何其他键。
-
在GitHub上login你的账户,并把这个公钥加到https://github.com/settings/ssh
-
现在你可以在本地使用你的git。
如果你还没有阅读,你应该看看GitHub的帮助页面中的错误:
错误:权限被拒绝(公钥)
每次我遇到这个问题,都是由于该页面上列出的最后一个问题引起的:我没有从当前工作站连接到我的GitHub帐户的公钥。 当然,GitHub也提供了如何将您的公钥添加到您的帐户的说明 。
TL;博士
确保您的当前公钥已经连接到您的GitHub帐户。
我不认为这会解决你的问题,因为你直接testing了ssh -vT git@github.com
,它工作正常,但是你正在使用ssh-agent
。 你需要运行
$ eval `ssh-agent -s` Agent pid 767 $ ssh-add -l The agent has no identities.
这将评估环境导出命令,并允许您的ssh-add
和ssh
命令与代理进行通信。 或者,您可以要求代理启动一个shell,terminal等,它将设置适当的环境:
$ ssh-agent bash $ ssh-add -l The agent has no identities.
在这种情况下,shell作为ssh-agent
一个子ssh-agent
运行,当shell退出时代理将closures。
我在Ubuntu上面对同样的问题,然后我意识到,我是在sudo
模式,一旦我只是访问remote
没有sudo
它进展顺利。
这就是我如何摆脱问题,希望可以帮助。
权限被拒绝(公钥)。 我今天遇到这个问题,但最后我find了一个解决scheme,并成功解决了我的问题。
也许你应该validation以下问题:
- 你有一个github帐户
- gitconfiguration你的用户名和邮件
- 生成一个ssh密钥pri / pub对,并将公钥添加到你的git帐户,请检查这可能会给你的帮助: 生成新的ssh密钥 , 不能推git存储库'权限被拒绝'
- 检查ssh-key是否成功添加:
ssh -V username@github.com
- 祝你好运!