Gitee SSH公钥配置实战:3步解决Permission denied (publickey)错误

📅 2026/7/12 10:55:52
Gitee SSH公钥配置实战:3步解决Permission denied (publickey)错误
Gitee SSH公钥配置实战3步解决Permission denied (publickey)错误当你第一次尝试通过SSH协议克隆Gitee仓库时可能会遇到这个令人沮丧的错误提示Permission denied (publickey)。这就像你带着正确的钥匙却打不开门锁一样让人困惑。别担心这个问题其实很容易解决只需要完成三个简单的步骤。1. 生成SSH密钥对你的数字身份凭证SSH密钥对就像一把独特的数字钥匙和锁。公钥锁放在Gitee上私钥钥匙留在你的本地电脑。当两者匹配时系统就会允许你访问。打开终端Windows用户可以使用Git Bash输入以下命令生成密钥对ssh-keygen -t rsa -b 4096 -C your_emailexample.com这个命令会生成一个3072位的RSA密钥对足够安全并使用你的邮箱作为标签。执行时会提示你选择保存位置直接回车使用默认路径设置密码可选但推荐为空则直接回车提示如果你之前生成过密钥系统会询问是否覆盖。除非你知道自己在做什么否则建议不要覆盖现有密钥。生成成功后你会看到类似这样的随机艺术图案这是你密钥的视觉指纹---[RSA 3072]---- | .o. | | . o . | | . . o . | | . o o | | S . | | . B | | . * . | | . o o | | E.. | ----[SHA256]-----2. 将公钥添加到Gitee账户安装你的数字锁现在你需要把公钥锁的部分放到Gitee上。首先查看并复制你的公钥cat ~/.ssh/id_rsa.pub输出看起来像这样你的实际内容会不同ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyJonK56fssztaatDghjQq6qv3NJx0bZ2Sd1aIfTU902m9ohzq6VKAS8QDfQfjSstHr4m99PiBwkcYbUhyJYqHcM2p9X1GoCwaG2BnK8ZjvPpDR4Dwc/XSTdJZKlzxTEzhg/AH5UN8KuCuLVmw0m0wvSWnaCtlSfV780dUE1clbCL4Sp7P1KFMe7NrybSFujQBw9WIJULZTGANjjepbXxcxCZ7pfK78DUtpE/R00JyEr2R3pdzN9uMvXlUKdKi/lHZMymc25973XGT9O1Odk99rj4SjvmoFhUxA4QhAy1kzQp/1RDixSWG3DlLEkCD8VGxjo1Jc7Nfe7kkNGuMAhC66PPsAS0sCboTmljexn7Z5i697pUeTabMozT1V6sksXHRNHWwoNi3dUVCrlAL06uDB23LiZCjJCjMjDfFK9EYr9m6icqy/KXqyglwboGlKb3GWPGghYJRGoWt3kWUJ2LTE9Xlwv0imI9Bd9aQ99MTYS7OF/WhNO8 your_emailexample.com接下来登录Gitee按照以下步骤操作点击右上角头像 → 进入设置选择左侧SSH公钥在添加公钥页面标题给你的密钥起个名字如办公电脑公钥粘贴刚才复制的整个公钥内容点击确定完成添加注意公钥内容必须完整准确包括开头的ssh-rsa和结尾的邮箱。多一个空格或少一个字符都会导致认证失败。3. 测试连接验证一切正常配置完成后让我们测试一下是否一切正常ssh -T gitgitee.com如果看到类似这样的欢迎信息说明配置成功Hi YourName! Youve successfully authenticated, but GITEE.COM does not provide shell access.如果还是遇到问题可能是以下原因导致的常见问题排查指南问题现象可能原因解决方案仍然提示Permission deniedSSH代理未运行或未加载密钥执行eval $(ssh-agent -s)然后ssh-add ~/.ssh/id_rsa连接超时网络问题或防火墙阻挡尝试ping gitee.com检查网络设置认证被拒绝公钥未正确添加检查Gitee上的公钥是否与本地id_rsa.pub完全一致提示Too many authentication failures客户端尝试了多个密钥使用ssh -o IdentitiesOnlyyes -T gitgitee.com高级技巧管理多个密钥如果你需要在同一台电脑上使用不同的Gitee账户可以配置SSH的config文件# ~/.ssh/config 文件内容示例 Host gitee.com HostName gitee.com User git IdentityFile ~/.ssh/id_rsa_work # 工作账户密钥 IdentitiesOnly yes Host gitee-personal HostName gitee.com User git IdentityFile ~/.ssh/id_rsa_personal # 个人账户密钥 IdentitiesOnly yes使用时克隆仓库的命令需要稍作修改# 使用工作账户默认 git clone gitgitee.com:username/repo.git # 使用个人账户 git clone gitgitee-personal:username/repo.git安全最佳实践定期更换密钥就像定期更换密码一样建议每6-12个月更换一次SSH密钥使用强密码为私钥设置强密码即使私钥泄露也能提供保护限制密钥使用在Gitee的公钥描述中注明使用设备和期限撤销不再使用的密钥离职或更换电脑时记得删除Gitee上对应的公钥# 检查密钥指纹验证密钥匹配 ssh-keygen -lf ~/.ssh/id_rsa.pub通过这三个步骤你应该能够解决绝大多数SSH连接Gitee的问题。记住SSH认证是Git操作中最安全高效的方式之一一旦设置完成后续的所有Git操作都会变得非常顺畅。