当前位置: 首页 > news >正文

SSH管理github代码

AI模型:Deepseek

仅供参考。

第一步:生成 SSH 密钥对

在终端(Windows 推荐用 Git Bash 或 PowerShell)中运行:

ssh-keygen -t ed25519 -C "your_email@example.com"

将 your_email@example.com 替换为你的 GitHub 注册邮箱。

然后按提示操作:
- 保存路径:直接回车,使用默认路径 ~/.ssh/id_ed25519
- 密码短语:可选但推荐设置,为私钥多加一层保护
- 若 ed25519 算法不可用(如系统过旧),可改用 RSA:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

密钥文件说明:
~/.ssh/id_ed25519 是私钥,留在本地,绝对不要分享给任何人。
~/.ssh/id_ed25519.pub 是公钥,需要添加到 GitHub。

第二步:添加到 ssh-agent(可选)

启动 SSH 代理并将私钥添加进去:

eval "$(ssh-agent -s)" # 启动 ssh-agent
ssh-add ~/.ssh/id_ed25519 # 添加私钥

这样可以在当前会话中重用密钥,避免重复输入密码。

第三步:将公钥添加到 GitHub

1. 复制公钥
- macOS:pbcopy < ~/.ssh/id_ed25519.pub
- Linux(需装 xclip):xclip -selection clipboard < ~/.ssh/id_ed25519.pub
- Windows Git Bash:cat ~/.ssh/id_ed25519.pub | clip
- 通用方法:cat ~/.ssh/id_ed25519.pub,然后手动选中并复制所有输出

2. 登录 GitHub 添加
1) 登录 GitHub,点击右上角头像 → Settings
2) 左侧边栏点击 SSH and GPG keys
3) 点击 New SSH key 按钮
4) 填写信息:
- Title:填写一个便于识别的名称(如 "My MacBook Pro" 或 "Office Desktop")
- Key type:保持默认的 "Authentication Key"
- Key:粘贴刚刚复制的公钥内容
5) 点击 Add SSH key,按要求确认密码

第四步:测试连接

在终端中运行:

ssh -T git@github.com

首次连接会提示确认 host key,输入 yes 继续。看到如下输出即表示成功:

Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.

如果看到权限拒绝(Permission denied)错误,请检查公钥是否完整粘贴、邮箱是否正确。

第五步:使用 SSH 协议操作仓库

配置完成后,即可使用 git@github.com: 格式的地址:

- 克隆新仓库:
git clone git@github.com:用户名/仓库名.git
示例:git clone git@github.com:octocat/Hello-World.git
SSH 地址可从仓库页面点击 "Code" → "SSH" 获取

- 修改既有仓库(将 HTTPS 地址改为 SSH):
git remote set-url origin git@github.com:用户名/仓库名.git

之后 git push、git pull 就不再需要每次输入密码了。

常见问题排查

- ssh-add 报 "Could not open a connection":先执行 eval "$(ssh-agent -s)" 启动代理
- 公司网络封锁 22 端口:改用 443 端口:ssh -T -p 443 git@ssh.github.com
- Windows 环境没有 ssh-keygen:安装 Git for Windows,使用 Git Bash

小建议:一台设备配一个密钥就够了,如果换新电脑重新走一遍流程即可。不再用的旧设备记得去 GitHub 删掉对应的密钥,避免留下安全隐患。

http://www.jsqmd.com/news/1277578/

相关文章:

  • Midjourney V8.2预览与草稿模式:24倍速AI图像生成实战指南
  • 协议层防篡改实战:签名验签、抗重放与密钥轮换构建安全通信
  • 【扩散过程分布反馈控制中的最优动态执行器位置】使用FO-Diff-MAS2D解决二维分数扩散方程并获得异常扩散过程的分数控制问题(Matlab代码实现)
  • 上海到美国LDP的实力货代公司避坑指南:双清包税到门更省心 - 2027品牌AI展
  • 【CarbonData】CarbonData 的索引是如何构建和维护的?是在数据加载时还是查询时?
  • csp信奥赛C++高频考点专项训练:【排序算法】案例6:三角形的分类
  • (2026最新)南通本地人必选的靠谱漏水检测维修推荐:正规防水补漏防水-卫生间/厨房/屋顶/阳台/外墙渗漏水精准测漏,本地人的信赖之选 - 安佳防水
  • (2026最新)厦门本地漏水检测维修公司靠谱推荐:正规防水补漏上门维修-墙面/屋顶/外墙/暗管漏水检测精准定位 - 即刻修防水
  • AI Agent 面试题 553:多Agent系统中的信任模型如何建立?
  • 2026月饼包装盒厂家推荐热度排行分享 - 起跑123
  • Windows幽灵端口占用:HNS如何无声偷走你的端口
  • 《Java 100 天进阶之路》第63篇:GC调优实战(2026版)
  • AI销售机器人如何提升节日营销转化率30倍
  • 异构系统集成 4 类避不开的侵入,本体语义是怎么压到最小的
  • HarmonyOS应用开发实战:猫猫大作战-`router.pushUrl` 的路由规则、参数传递、返回栈管理、以及回调处理
  • (2026最新)南昌本地漏水检测维修公司靠谱推荐:正规防水补漏上门维修-墙面/屋顶/外墙/暗管漏水检测精准定位 - 即刻修防水
  • 2026 年当下,鄂尔多斯专业的草坪基地批发供应厂家哪家专业,买它比零售省出半车钱,装修工程人必看的靠谱绿植货源渠道-森淼草坪基地 - 行业严选官
  • (2026最新)南平本地人必选的靠谱漏水检测维修推荐:正规防水补漏防水-卫生间/厨房/屋顶/阳台/外墙渗漏水精准测漏,本地人的信赖之选 - 安佳防水
  • 2026年度南阳地区煤仓清堵服务团队综合评估与选择指南 - 装修教育财税推荐2026
  • 3分钟上手SillyTavern:打造你的专属AI角色扮演聊天室
  • (2026最新)厦门本地人必选的靠谱漏水检测维修推荐:正规防水补漏防水-卫生间/厨房/屋顶/阳台/外墙渗漏水精准测漏,本地人的信赖之选 - 安佳防水
  • Docker中Cypress测试环境构建:解决无头模式GPU依赖问题
  • 《Java 100 天进阶之路》第62篇:垃圾回收器详解(2026版)
  • Unity入门实战:从零构建滚球收集Demo,掌握核心工作流
  • csp信奥赛C++高频考点专项训练:【排序算法】案例7:最高分数的学生姓名
  • 2026开福区围挡租赁哪家好实用选择建议分享 - 起跑123
  • SillyTavern性能调优指南:如何将内存占用降低40%并提升响应速度
  • 今日开源[第39期]Kronos - zhang
  • 2026年优选知名的广州刑事案件律师:问道刑事团队专业解析 - 装修教育财税推荐2026
  • PDF加密破解与权限移除:技术原理、工具实践与合法边界