权限被拒绝(公钥)
我在Mac Snow Leopard上,我刚刚安装了git。
我刚刚尝试过
git clone git@thechaw.com:cakebook.git
但是这给了我这个错误。
Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/` Permission denied (publickey). fatal: The remote end hung up unexpectedly
我错过了什么?
我也尝试过没有通过的ssh-keygen
,但仍然是同样的错误。
此信息正在使用TheChaw,但可以应用于所有其他支持SSH pubkey身份验证的git存储库。 (例如,参见gitolite,gitlab或github。)
首先设置你自己的公钥/私钥对。 这可以使用DSA或RSA,所以基本上你设置的任何键都可以工作。 在大多数系统上,您可以使用ssh-keygen。
cd ~/.ssh && ssh-keygen
cat id_rsa.pub | pbcopy
cat id_rsa.pub | pbcopy
cat id_rsa.pub | xclip
cat id_rsa.pub | xclip
cat id_rsa.pub | clip
cat id_rsa.pub | clip
git config --global user.name "bob"
git config --global user.email bob@...
(不要忘记重新启动你的命令行以确保配置被重新加载) 这就是你应该很好克隆和结账。
更多信息可以在https://help.github.com/articles/generating-ssh-keys找到(感谢@惠特尼)
更广泛的故障排除甚至自动修复可以通过以下方式完成
ssh -vT git@github.com
来源:https://help.github.com/articles/error-permission-denied-publickey/
当您访问SSH URL(读/写)而不是Git只读URL时,可能会发生此错误,但您无法访问该回购站。
有时你只想克隆自己的回购,例如部署到服务器。 在这种情况下,您实际上只需要READ-ONLY访问权限。 但由于这是您自己的回购,GitHub可能会显示SSH URL,如果这是您的偏好。 在这种情况下,如果您的远程主机的公钥不在您的GitHub SSH密钥中,您的访问将被拒绝, 预计会发生 。
等价的情况是,当您尝试使用SSH URL克隆其他人没有写入权限的回购时。
总之, 如果您的意图是仅克隆回购,请使用HTTPS URL ( https://github.com/{user_name}/{project_name}.git
git@github.com:{user_name}/{project_name}.git
)而不是SSH URL( git@github.com:{user_name}/{project_name}.git
),它可以避免(不必要的)公钥验证。
更新:GitHub现在将HTTPS显示为默认协议,此举可能可以减少可能的滥用SSH URL的情况。
链接地址: http://www.djcxy.com/p/27059.html上一篇: Permission denied (publickey)
下一篇: How do I avoid the specification of the username and password at every git push?