Git SSH 连接密钥配置指南 🔑
Git SSH 连接密钥配置指南 🔑
📋 目录导航
📖 文章简介
本文是一份详细的 Git SSH 密钥配置指南,帮助开发者在 Gitee 和 GitHub 平台上设置安全的 SSH 连接。通过清晰的步骤说明和命令示例,您将学会如何生成密钥、配置 SSH 连接以及验证连接状态,从而实现无需密码的便捷 Git 操作。
🚀 Gitee 添加 SSH 连接密钥
1. ⚙️ Git 全局设置 (Git Bash
命令)
1 | git config --global user.name "meimolihan" # 设置用户名 |
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 | mkdir -p ~/.ssh && \ |
5. 🔐 添加 Gitee 的主机密钥 (Git Bash
命令)
1 | ssh-keyscan -t ed25519 gitee.com >> ~/.ssh/known_hosts |
6. ✅ 验证 Gitee 连接 (Git Bash
命令)
1 | ssh -T git@gitee.com |
预期输出:
Hi meimolihan(@meimolihan)! You've successfully authenticated, but GITEE.COM does not provide shell access.
中文释义:
嗨,meimolihan(@meimolihan)!你已成功通过身份验证,但 GITEE.COM 不提供 shell 访问权限。
7. 👀 查看写入是否成功 (Git Bash
命令)
1 | cat ~/.ssh/known_hosts |
预期显示内容:
1 | gitee.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEKxHSJ7084RmkJ4YdEi5tngynE8aZe2uEoVVsB/OvYN |
🐙 GitHub 添加 SSH 连接密钥
1. ⚙️ Git 全局设置 (Git Bash
命令)
1 | git config --global user.name "meimolihan" # 设置用户名 |
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 | mkdir -p ~/.ssh && \ |
5. 🔐 添加 GitHub 的主机密钥 (Git Bash
命令)
1 | ssh-keyscan -t ed25519 github.com >> ~/.ssh/known_hosts |
6. ✅ 验证 GitHub 连接 (Git Bash
命令)
1 | ssh -T git@github.com |
预期输出:
Hi meimolihan! You've successfully authenticated, but GitHub does not provide shell access.
中文释义:
嗨,meimolihan!你已经成功进行了身份验证,但是 GitHub 不提供 shell 访问权限。
7. 👀 查看写入是否成功 (Git Bash
命令)
1 | cat ~/.ssh/known_hosts |
预期显示内容:
1 | gitee.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEKxHSJ7084RmkJ4YdEi5tngynE8aZe2uEoVVsB/OvYN |
🔧 常见问题与解决方案
❓ 问题 1: SSH 连接超时或失败
解决方案:1
2
3
4
5
6
7
8
9
10# 检查 SSH 配置是否正确
ssh -vT git@gitee.com
ssh -vT git@github.com
# 检查防火墙设置
sudo ufw status
# 检查网络连接
ping gitee.com
ping github.com
❓ 问题 2: 权限错误
解决方案:1
2
3
4# 修复文件权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
chmod 644 ~/.ssh/*.pub
❓ 问题 3: 密钥不被识别
解决方案:1
2
3
4# 重新启动 SSH 代理
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 进行代码操作了!