github SSH认证与Token认证
以下是 GitHub 的 SSH Key 认证、Token 认证、创建仓库及推送代码的完整流程,分步骤详细说明:
一、SSH Key 认证
1. 生成 SSH Key
1 | ssh-keygen -t ed25519 -C "你的邮箱@example.com" # 推荐使用 ed25519 算法 |
- 连续按回车使用默认路径(
~/.ssh/id_ed25519
或~/.ssh/id_rsa
) - 可设置密码(可选,增强安全性)
2. 添加公钥到 GitHub
- 复制公钥内容:
1
2
3
4# ed25519 算法
cat ~/.ssh/id_ed25519.pub
# 或 RSA 算法
cat ~/.ssh/id_rsa.pub - 登录 GitHub → Settings → SSH and GPG keys → New SSH Key
- 粘贴公钥内容并保存
3. 测试 SSH 连接
1 | ssh -T [email protected] |
二、Token 认证(替代密码)
1. 生成 Personal Access Token
- 登录 GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token
- 设置权限(按需勾选):
repo
(仓库操作)user
(用户信息)write:packages
(发布包)
- 设置过期时间(建议短期有效)
- 生成后务必复制 Token(关闭页面后无法再次查看)
2. 使用 Token 推送代码
- HTTPS 协议:
1
2git remote set-url origin https://github.com/用户名/仓库名.git
# 推送时输入 Token 作为密码(用户名可任意) - SSH 协议:仍使用 SSH Key 认证,Token 仅用于 API 操作(如脚本中调用 GitHub API)
三、创建新仓库
1. 在 GitHub 网页创建(推荐)
- 登录 GitHub → 点击 New → 填写仓库名、描述 → 选择公开/私有 → Create repository
- 复制仓库地址(SSH 或 HTTPS)
2. 通过命令行创建(本地初始化)
1 | # 初始化本地仓库 |
四、推送代码流程(完整示例)
1. 本地开发后提交
1 | # 添加所有修改 |
2. 推送代码到 GitHub
- SSH 协议:
1
git push origin main # 或分支名(如 git push origin feature/login)
- HTTPS 协议(使用 Token):
1
2git push https://github.com/用户名/仓库名.git main
# 输入用户名(任意)和 Token(作为密码)
五、常见问题
权限拒绝(Permission Denied)
- 检查 SSH Key 是否添加到 GitHub
- 确认远程仓库地址正确:
git remote -v
- 测试 SSH 连接:
ssh -T [email protected]
Token 过期
- 重新生成 Token 并更新本地配置(如脚本中使用的 Token)
分支名称问题
- GitHub 默认分支现为
main
(旧项目可能为master
),推送时确保分支名一致
- GitHub 默认分支现为
流程总结
1 | 生成 SSH Key → 添加到 GitHub → 本地创建/克隆仓库 → 提交代码 → 推送(SSH/Token) |
通过以上步骤,您可以安全高效地使用 GitHub 进行代码管理。SSH Key 适合长期免密操作,Token 则适用于临时授权或 API 调用。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 adong的博客!
评论