我想用ssh将我的提交推送到github。我得到了
运行您已成功通过身份验证
ssh -T git@github.com
命令后的消息,但是当我想推送我的提交时,我收到此错误:
权限被拒绝(publickey)。 致命:无法从远程读取 库中。
请确保您拥有正确的访问权限和存储库 存在。
我运行ssh-add -l
命令,我得到了
4096 SHA256:SREQ0/2G0mT+UxUmpLWmkMramBcFxnl+onFyXgwFENk ~/.ssh/work2_rsa (RSA) 4096 SHA256:gKPZ1Hxzc6eZ/NsgnoPaJsGbdWgQV54bYAXaTym3PfY ~/.ssh/work3_rsa (RSA)
我运行git remote -v
我得
origin git@github.com:H-Ghadirian/UdacitySillySong.git (fetch)
origin git@github.com:H-Ghadirian/UdacitySillySong.git (push)
sillySong git@github.com:H-Ghadirian/UdacitySillySong.git (fetch)
sillySong git@github.com:H-Ghadirian/UdacitySillySong.git (push)
我读了this post。它与我的问题非常相似,但sudo
并没有解决我的问题。
我也运行git push -u origin master
并得到同样的错误:
许可被拒绝(公钥)。
我也读过Permission denied (publickey). fatal: The remote end hung up unexpectedly for git pull,但是我的公钥是在.ssh文件夹中,那不是我的情况
我读了这页:Error: Permission denied (publickey)并检查所有内容。我错过了什么吗?
我该怎么办?
MacOS :Sierra
git version 2.13.5(Apple Git-94)
正如this link所述,我将config
文件添加到我的.ssh
文件夹并添加
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/work2_rsa
到它。
答案 0 :(得分:2)
首先检查git remote -v
返回的内容:
git@github.com:<you>/<yourRepo.git>
为了清楚起见,您需要首先在GitHub上创建远程仓库:推送到不存在的仓库会产生该错误。
通常情况下,ssh url无法正常工作意味着所述URL不会按照ssh所期望的方式编写
由于config
中的ssh ~/.ssh/config
文件,ssh可能会有不同的网址。
我使用
sudo
运行命令并多次检查回购。
您没有使用sudi运行ssh git@github.com
,这意味着您的推送命令也不需要sudo
。