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

【Github | Git】如何彻底删除 SSH 密钥公钥:删除本地密钥公钥 删除GitHub密钥公钥

- 第 124 篇 -
Date: 2025 - 09 - 08
Author: 郑龙浩(仟墨)

如何彻底删除 SSH 密钥:从本地到 GitHub 的完整清理指南

文章目录

  • **如何彻底删除 SSH 密钥:从本地到 GitHub 的完整清理指南**
      • **如何彻底删除 SSH 密钥:从本地到 GitHub 的完整清理指南**
        • **第一步:进入 SSH 目录并查看文件**
        • **第二步:在目录内删除密钥文件**
        • **第三步:清理 SSH 代理中的密钥缓存**
        • **第四步:移除 GitHub 上的公钥记录(关键步骤)**
        • **第五步:清理相关配置文件**
        • **验证清理结果**
        • **总结:正确的删除顺序**

如何彻底删除 SSH 密钥:从本地到 GitHub 的完整清理指南

需要废弃一对 SSH 密钥时,简单的文件删除并不够彻底。密钥可能残留在代理缓存或远程平台中,留下安全隐患。

如何删除呢,下面是操作步骤

第一步:进入 SSH 目录并查看文件

首先进入 SSH 密钥目录并查看所有文件:

cd ~/.ssh
ls -la

常见的密钥文件对通常成对出现:

默认文件(私钥、公钥)如下:

  • id_rsa(私钥)
  • id_rsa.pub(公钥)

我后来创建的私钥、公钥如下:

  • new_IDrsa
  • new_IDrsa.pub

第二步:在目录内删除密钥文件

确认要删除的密钥文件后,直接在 .ssh 目录内删除它们:

# 删除默认的 RSA 密钥对
rm -f id_rsa id_rsa.pub# 如果使用其他其他「加密算法」或「自定义名称」的密钥:如 new_IDrsa(私钥) 与 new_IDrsa.pub(公钥)
rm -f id_ed25519 id_ed25519.pub # 加密算法的密钥和公钥
rm -f new_IDrsa new_IDrsa.pub # 自定义的密钥和公钥

注意-f 参数会强制删除,无需确认。慎用!


第三步:清理 SSH 代理中的密钥缓存

即使删除了文件,密钥可能仍驻留在 SSH 代理的内存中。需要手动清除:

# 启动 SSH 代理(如果未运行)
eval "$(ssh-agent -s)"# 列出所有缓存的密钥
ssh-add -l# 删除所有缓存的密钥
ssh-add -D# 确认清理结果 第二次输入该指令
ssh-add -l  # 此时应显示 "The agent has no identities."

这一步确保了密钥从内存中被彻底清除。

当然如果第一次执行了ssh-add -l指令后没有输出所有缓存密钥的话,而是直接输出了The agent has no identities.则表示:

代理没有缓存任何密钥


第四步:移除 GitHub 上的公钥记录(关键步骤)

本地删除后,必须同步移除远程平台的公钥记录:

  1. 登录 GitHub,点击右上角头像进入 Settings
  2. 在左侧边栏选择 SSH and GPG keys
  3. 找到与本地删除密钥对应的公钥记录
  4. 点击右侧的 Delete 按钮完成移除

重要:如果密钥曾用于多个平台(如 GitLab、服务器等),请务必同步删除所有相关记录。


第五步:清理相关配置文件

.ssh 目录内编辑配置文件:

nano config

在打开的配置文件中,查找并删除或注释掉(行首加 #)类似这样的配置行:

# 注释或删除这行
# IdentityFile ~/.ssh/id_rsa

保存退出后,你的配置清理就完成了。


验证清理结果

完成所有步骤后,通过以下命令验证清理是否彻底:

# 检查文件是否消失
ls id_rsa*  # 应显示 "No such file or directory"# 测试 GitHub 连接
ssh -T git@github.com  # 应提示 "Permission denied (publickey)"

如果看到权限拒绝的提示,说明清理工作已成功完成。


总结:正确的删除顺序
  1. 进入目录cd ~/.ssh
  2. 远程优先:首先在 GitHub 等平台删除公钥
  3. 本地清理:删除本地密钥文件
  4. 内存清理:清除 SSH 代理中的密钥缓存
  5. 配置整理:更新 SSH 配置文件

遵循这个顺序可以最大程度避免密钥在删除过程中被不当使用。记住,密钥管理是开发者的基本安全素养,定期审查和更新密钥是良好的安全习惯。


文章转载自:

http://1NcRuIpu.hqhLx.cn
http://xKgLHegb.hqhLx.cn
http://vHGXkhhM.hqhLx.cn
http://nvDKM3wh.hqhLx.cn
http://YMuxwLE2.hqhLx.cn
http://5g4Wpu1S.hqhLx.cn
http://knJjaWen.hqhLx.cn
http://Jx3klYT0.hqhLx.cn
http://I0qmcKqL.hqhLx.cn
http://9uFZVQt1.hqhLx.cn
http://uJVt5KKu.hqhLx.cn
http://RBsvCR3y.hqhLx.cn
http://CT48ee39.hqhLx.cn
http://E6jA2Chi.hqhLx.cn
http://clmuO1Fi.hqhLx.cn
http://dYiRawUf.hqhLx.cn
http://2glDn1ET.hqhLx.cn
http://4a8RcSTl.hqhLx.cn
http://4rbGOcnF.hqhLx.cn
http://9iJsrVHc.hqhLx.cn
http://8LqVJshj.hqhLx.cn
http://2Ojc6W2F.hqhLx.cn
http://Ph8IgQkP.hqhLx.cn
http://2vRnTHLR.hqhLx.cn
http://AdPv876p.hqhLx.cn
http://BVY4exxH.hqhLx.cn
http://mOXjnKKM.hqhLx.cn
http://FwDGwgc1.hqhLx.cn
http://MAlyNNsg.hqhLx.cn
http://t1h2estf.hqhLx.cn
http://www.dtcms.com/a/374299.html

相关文章:

  • ARM 体系结构与存储器
  • <android>反编译魔改安卓系统应用并替换
  • 面试题:Redis要点总结(进阶)
  • Web安全基石:深入理解与防御SQL注入漏洞
  • PAT 1005 Spell It Right
  • 老子与coding
  • 机器学习之聚类算法
  • bash:trtexec:command not found
  • 今日分享:C++ Stack和queue(栈与队列)
  • Avalonia:使用附加属性实现命令与事件的绑定
  • AI的核心操控:从算法到硬件的协同进化
  • C++初阶(5)类和对象(中)
  • Linux I/O 访问架构深入分析
  • 实现一个可中断线程的线程类
  • Java全栈学习笔记31
  • 算法之双指针
  • js定义变量时let和cons的使用场景
  • DataLens:一款现代化的开源数据分析和可视化工具
  • 人工智能-python-深度学习-神经网络-MobileNet V1V2
  • TDengine 选择函数 Last() 用户手册
  • MySQL的数据模型
  • vulnhub:Kioptrix level 2
  • C++ Int128 —— 128位有符号整数类实现剖析
  • 前端部署,又有新花样?
  • Neural Jacobian Field学习笔记 - omegaconf
  • C++(day8)
  • 设计模式:模板方法模式
  • 英发睿能闯关上市:业绩波动明显,毅达创投退出,临场“移民”
  • 华清远见25072班网络编程day1
  • 深入理解 AbstractQueuedSynchronizer (AQS):Java 并发的排队管家