Git SSH 连接密钥配置指南 🔑
📋 目录导航
📖 文章简介
本文是一份详细的 Git SSH 密钥配置指南,帮助开发者在 Gitee 和 GitHub 平台上设置安全的 SSH 连接。通过清晰的步骤说明和命令示例,您将学会如何生成密钥、配置 SSH 连接以及验证连接状态,从而实现无需密码的便捷 Git 操作。
🚀 Gitee 添加 SSH 连接密钥
1. ⚙️ Git 全局设置 (Git Bash 命令)
1 2 git config --global user.name "meimolihan" git config --global user.email "meimolihan@gmail.com"
2. 🔑 生成 Gitee RSA 密钥(4096 位)(Git Bash 命令)
添加注释 :-C "注释"
注释示例 :ssh-keygen -t rsa -b 4096 -C "注释" -f ~/.ssh/id_rsa_gitee
1 ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_gitee
💡 执行此命令后,系统会提示你:
输入密钥的密码(直接回车跳过)
确认密码(直接回车跳过)
3. 📋 复制 Gitee 密钥到剪切板
Windows 系统 (CMD 命令)
1 cat ~/.ssh/id_rsa_gitee.pub | clip.exe
Linux 系统
1 cat ~/.ssh/id_rsa_gitee.pub
登录 Gitee ,进入「设置」→「SSH 公钥」,添加刚才复制的公钥。
4. 📁 创建 Gitee 身份验证配置文件 (Git Bash 命令)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 mkdir -p ~/.ssh && \chmod 700 ~/.ssh && \cat > ~/.ssh/config << EOF Host github.com User git # 用于连接的用户名 IdentityFile ~/.ssh/id_rsa_github # 指定私钥文件路径 Hostname ssh.github.com # 用于 SSH 连接的特定主机名 Port 443 # 指定连接时的端口号 Host gitee.com User git # 用于连接的用户名 IdentityFile ~/.ssh/id_rsa_gitee # 指定私钥文件路径 IdentitiesOnly yes # 仅使用指定的私钥进行认证 EOF chmod 600 ~/.ssh/config && \cat ~/.ssh/config
5. 🔐 添加 Gitee 的主机密钥 (Git Bash 命令)
1 ssh-keyscan -t ed25519 gitee.com >> ~/.ssh/known_hosts
6. ✅ 验证 Gitee 连接 (Git Bash 命令)
预期输出:
Hi meimolihan(@meimolihan)! You've successfully authenticated, but GITEE.COM does not provide shell access.
中文释义:
嗨,meimolihan(@meimolihan)!你已成功通过身份验证,但 GITEE.COM 不提供 shell 访问权限。
7. 👀 查看写入是否成功 (Git Bash 命令)
预期显示内容:
1 2 3 4 5 gitee.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEKxHSJ7084RmkJ4YdEi5tngynE8aZe2uEoVVsB/OvYN github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl |1 |bzw3j +8 DI+9 RgLAzAZdQKexoWM8=|f3Bxcts2uQzDJJ0Wb0YUM60Yqc4 = ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5 dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38 TGxkxCflmO+5 Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2 aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk= |1 |9b3z8FBBzXpAGeBRVHFx81E0Pw4 =|ILx1dWLLIvT12ou1og /bNg7j+Mc= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=
🐙 GitHub 添加 SSH 连接密钥
1. ⚙️ Git 全局设置 (Git Bash 命令)
1 2 git config --global user.name "meimolihan" git config --global user.email "meimolihan@gmail.com"
2. 🔑 生成 GitHub RSA 密钥(4096 位)(Git Bash 命令)
添加注释 :-C "注释"
注释示例 :ssh-keygen -t rsa -b 4096 -C "注释" -f ~/.ssh/id_rsa_github
1 ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_github
💡 执行此命令后,系统会提示你:
输入密钥的密码(直接回车跳过)
确认密码(直接回车跳过)
3. 📋 复制 GitHub 密钥到剪切板
Windows 系统 (Git Bash 命令)
1 cat ~/.ssh/id_rsa_github.pub | clip.exe
Linux 系统
1 cat ~/.ssh/id_rsa_github.pub
登录 GitHub ,进入「设置」→「SSH 公钥」,添加刚才复制的公钥。
4. 📁 创建 GitHub 身份验证配置文件 (Git Bash 命令)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 mkdir -p ~/.ssh && \chmod 700 ~/.ssh && \cat > ~/.ssh/config << EOF Host github.com User git # 用于连接的用户名 IdentityFile ~/.ssh/id_rsa_github # 指定私钥文件路径 Hostname ssh.github.com # 用于 SSH 连接的特定主机名 Port 443 # 指定连接时的端口号 Host gitee.com User git # 用于连接的用户名 IdentityFile ~/.ssh/id_rsa_gitee # 指定私钥文件路径 IdentitiesOnly yes # 仅使用指定的私钥进行认证 EOF chmod 600 ~/.ssh/config && \cat ~/.ssh/config
5. 🔐 添加 GitHub 的主机密钥 (Git Bash 命令)
1 ssh-keyscan -t ed25519 github.com >> ~/.ssh/known_hosts
6. ✅ 验证 GitHub 连接 (Git Bash 命令)
预期输出:
Hi meimolihan! You've successfully authenticated, but GitHub does not provide shell access.
中文释义:
嗨,meimolihan!你已经成功进行了身份验证,但是 GitHub 不提供 shell 访问权限。
7. 👀 查看写入是否成功 (Git Bash 命令)
预期显示内容:
1 2 3 4 5 gitee.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEKxHSJ7084RmkJ4YdEi5tngynE8aZe2uEoVVsB/OvYN github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl |1 |bzw3j +8 DI+9 RgLAzAZdQKexoWM8=|f3Bxcts2uQzDJJ0Wb0YUM60Yqc4 = ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5 dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38 TGxkxCflmO+5 Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2 aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk= |1 |9b3z8FBBzXpAGeBRVHFx81E0Pw4 =|ILx1dWLLIvT12ou1og /bNg7j+Mc= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=
🔧 常见问题与解决方案
❓ 问题 1: SSH 连接超时或失败
解决方案:
1 2 3 4 5 6 7 8 9 10 ssh -vT git@gitee.com ssh -vT git@github.com sudo ufw statusping gitee.com ping github.com
❓ 问题 2: 权限错误
解决方案:
1 2 3 4 chmod 700 ~/.sshchmod 600 ~/.ssh/*chmod 644 ~/.ssh/*.pub
❓ 问题 3: 密钥不被识别
解决方案:
1 2 3 4 eval "$(ssh-agent -s) " ssh-add ~/.ssh/id_rsa_gitee ssh-add ~/.ssh/id_rsa_github
💡 最佳实践
1. 🔒 定期更换密钥
建议每 6-12 个月更换一次 SSH 密钥,提高安全性。
2. 📝 使用不同的密钥
为不同的 Git 平台使用不同的密钥对,增强安全性。
3. 💾 备份密钥文件
将 SSH 密钥备份到安全的位置,防止丢失。
4. 🛡️ 使用密码保护密钥
在生成密钥时添加密码保护:
1 ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/id_rsa -N "your_strong_password"
5. 🔍 定期检查连接状态
定期验证 SSH 连接是否正常工作:
1 2 3 ssh -T git@gitee.com ssh -T git@github.com
✨ 完成以上配置后,您就可以使用 SSH 协议安全地连接 Gitee 和 GitHub 进行代码操作了!