使用 SSH 密钥上传 GitHub 仓库流程

使用 SSH 密钥上传 GitHub 仓库流程

本文档总结了在 Linux/macOS(或 Windows Git Bash)环境下,通过 SSH 密钥上传代码到 GitHub 仓库的完整流程,方便重复使用。


1. 检查现有 SSH 密钥

bash 复制代码
ls -al ~/.ssh
  • 查看是否已有密钥文件:
    • 私钥:id_rsaid_ed25519
    • 公钥:id_rsa.pubid_ed25519.pub
  • 如果已有密钥,可以直接使用;如果没有,需要生成新的。

2. 生成新的 SSH 密钥(可选)

推荐使用 Ed25519 算法:

bash 复制代码
ssh-keygen -t ed25519 -C "your_email@example.com"
  • 默认保存在 ~/.ssh/id_ed25519
  • 设置密码(可选,但建议保护私钥)
  • 会生成:
    • 私钥:id_ed25519
    • 公钥:id_ed25519.pub

如果已有 RSA 密钥,也可以直接使用,不影响 SSH 功能。


3. 添加私钥到 ssh-agent

启动 ssh-agent:

bash 复制代码
eval "$(ssh-agent -s)"

添加私钥:

bash 复制代码
ssh-add ~/.ssh/id_rsa
# 或者如果是新密钥:
# ssh-add ~/.ssh/id_ed25519

确认添加成功:

text 复制代码
Identity added: /home/username/.ssh/id_rsa (your_email@example.com)

4. 将公钥添加到 GitHub

  1. 查看公钥内容:
bash 复制代码
cat ~/.ssh/id_rsa.pub
  1. 登录 GitHub → Settings → SSH and GPG keys → New SSH key
  2. 填写 Title(如 RackServer Key),粘贴公钥内容 → 点击 Add SSH key

如果之前已有旧密钥,也可以先删除再新增。


5. 测试 SSH 连接

bash 复制代码
ssh -T git@github.com

第一次会提示信任 GitHub,输入 yes

成功输出:

text 复制代码
Hi <username>! You've successfully authenticated, but GitHub does not provide shell access.

6. 配置仓库使用 SSH

  1. 查看远程地址:
bash 复制代码
git remote -v
  1. 如果显示 HTTPS 地址,需要切换为 SSH:
bash 复制代码
git remote set-url origin git@github.com:username/repo.git
  1. 验证远程地址:
bash 复制代码
git remote -v

应显示:

text 复制代码
origin  git@github.com:username/repo.git (fetch)
origin  git@github.com:username/repo.git (push)

7. 上传代码到 GitHub

bash 复制代码
# 添加修改
git add .

# 提交
git commit -m "Your commit message"

# 推送到 GitHub
git push -u origin main
  • 第一次 push 使用 -u 设置上游分支
  • 之后可以直接 git push,无需输入用户名和密码

8. 小提示

  • 以后克隆仓库也使用 SSH:
bash 复制代码
git clone git@github.com:username/repo.git
  • 错误的邮箱注释(ssh-keygen -C "wrong_email")不会影响 SSH 功能,只是用于标识。

此文档可作为模板,下次在新服务器或新环境中设置 SSH 上传 GitHub 仓库时直接参考。

相关推荐
lifewange1 小时前
Nginx + Kafka 可编程精细控制 完整版(可直接落地运行)
运维·nginx·kafka
hweiyu002 小时前
Linux命令:ip6tables
linux·运维·服务器
数字化顾问2 小时前
(122页PPT)企业数字化IT架构蓝图规划设计方案(附下载方式)
java·运维·架构
ITyunwei09872 小时前
灾难恢复与业务连续性:如何确保天灾人祸下,业务也能“屹立不倒”?
运维·服务器
Promise微笑2 小时前
2026电缆故障定位仪:缆故障定位仪精准选型与高效避坑指南
运维·人工智能·重构
爱喝水的鱼丶3 小时前
SAP-ABAP:新手入门篇——从0到1写出你的第一个ABAP Hello World程序并完成调试运行
运维·服务器·数据库·学习·sap·abap
2601_955781983 小时前
OpenClaw快速接入Ollama本地模型教程
github·open claw安装·open claw部署
Dvesiz3 小时前
【ClaudeCode平替(免费)】OpenCode 完整安装与 VSCode 使用指南
ide·vscode·编辑器·github·ai编程·claude·visual studio code
MY_TEUCK3 小时前
【2026最新Linux虚拟机安装】Linux 虚拟机安装VMware 17 + CentOS 7
linux·运维·centos