无法克隆git@github.com开头的公开仓库?SSH权限问题咨询
问题解答
这是因为GitHub的SSH访问机制和HTTPS完全不同:不管仓库是公开还是私有,只要用SSH协议连接GitHub,都必须通过SSH密钥完成身份验证——GitHub的SSH服务器不支持匿名SSH连接,哪怕你只是拉取公开仓库的代码。
而HTTPS协议对公开仓库支持匿名只读访问,所以你用HTTPS克隆时不需要任何认证就能成功拉取代码。
解决办法
- 如果你只是想拉取这个公开仓库的代码,没必要折腾SSH,直接用HTTPS地址克隆即可:
git clone https://github.com/crate-ci/committed.git - 要是非得用SSH克隆,就得配置GitHub的SSH密钥,步骤如下:
- 在本地生成SSH密钥对:
执行命令时一路按回车即可,不需要设置密码(也可以根据需求设置)。ssh-keygen -t ed25519 -C "你的GitHub绑定邮箱" - 打开生成的公钥文件(默认路径是
~/.ssh/id_ed25519.pub),复制里面的全部内容。 - 登录GitHub账号,在设置里找到SSH密钥选项,将复制的公钥内容添加进去。
- 确保本地SSH代理在运行,并将密钥添加到代理:
ssh-add ~/.ssh/id_ed25519 - 测试SSH连接是否正常:
如果输出类似ssh -T git@github.comHi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.的内容,说明配置成功,此时再用SSH克隆仓库就没问题了。
- 在本地生成SSH密钥对:
内容的提问来源于stack exchange,提问作者Max Lyoto
相关产品推荐
相关产品推荐

