如何通过正确公钥权限克隆Git仓库?遇Permission denied问题求助
Git克隆报错Permission denied (publickey)的解决方案
问题核心
你是在远程Linux服务器上执行git clone操作,此时需要服务器自身拥有可访问GitHub的SSH密钥对——之前在本地Mac生成的密钥仅用于从Mac登录服务器,无法让服务器直接访问GitHub。
分步解决
在Linux服务器上生成专属SSH密钥
登录服务器后执行命令:ssh-keygen -t ed25519 -C "你的GitHub绑定邮箱@example.com"全程按回车使用默认配置,生成的公钥文件路径为
~/.ssh/id_ed25519.pub。将服务器公钥添加至GitHub
复制~/.ssh/id_ed25519.pub的全部内容,登录GitHub后进入「Settings → SSH and GPG keys」页面,添加新的SSH密钥。验证服务器与GitHub的SSH连通性
在服务器终端执行:ssh -T git@github.com若返回
Hi 你的GitHub用户名! You've successfully authenticated, but GitHub does not provide shell access.,说明验证通过。修复权限与配置(若需要)
确保服务器上SSH相关文件权限正确:chmod 700 ~/.ssh chmod 600 ~/.ssh/id_ed25519 chmod 644 ~/.ssh/id_ed25519.pub若服务器存在多个SSH密钥,需创建
~/.ssh/config文件指定GitHub使用的密钥:Host github.com HostName github.com User git IdentityFile ~/.ssh/id_ed25519检查仓库权限
确认你对目标GitHub仓库拥有读取权限(私有仓库需确保账号已被授权)。
内容的提问来源于stack exchange,提问作者peace_love
相关产品推荐
相关产品推荐

