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

SSH密钥对:一把锁与一把钥匙的信任游戏

前言

本系列旨在系统性地重构我们的知识图谱,将每一个孤立的技术点,都精准地放入其所属的上下文和知识网络中。我们追求的不是零散的“笔记”,而是一座坚实的、互相连接的“知识圣-殿”。
旅程继续。今天,我们将聚焦于现代Web安全的基石之一。

🔐 条目二:SSH密钥对:一把锁与一把钥匙的信任游戏

1. 上下文:为什么密码不够好?

在使用Git或登录服务器时,我们常用密码进行认证。但密码存在风险:

  • 可能被暴力破解
  • 在网络传输中可能被截获(尽管SSH协议本身是加密的)。
  • 需要在多个地方重复输入,管理不便

SSH密钥对提供了一种更安全、更便捷的替代方案,其背后是强大的非对称加密 (Asymmetric Encryption) 技术。

2. 核心比喻:你的专属“锁”与“钥匙”

理解SSH密钥对,只需想象两样东西:

  • 公钥 (Public Key) - “锁”:
    • 这把“锁”是公开的,你可以把它复制很多份,然后交给任何你信任的服务,比如GitHub、你的云服务器等。
    • 它的唯一功能是“上锁”(加密数据),任何人拿到这把锁,都无法用它来开锁(解密)。
  • 私钥 (Private Key) - “钥匙”:
    • 这把“钥匙”是独一无二、绝对私密的,你必须妥善保管在自己的电脑上(例如在 .ssh 文件夹中),绝不能泄露给任何人
    • 它的唯一功能是“开锁”(解密数据),且只能解开由其配对的公钥所加密的数据。
  • 即:公钥加密,私钥解密

3. 工作流程:以GitHub认证为例

  1. 部署“锁”: 你将你的公钥(锁)上传到GitHub的设置页面。
  2. 发起连接: 当你尝试通过SSH连接到GitHub时(例如执行 git push),你的电脑会告知GitHub:“我是持有这把锁对应钥匙的人”。
  3. 身份挑战: GitHub会用你之前给它的公钥(锁),对一段随机信息进行“上锁”(加密),然后把这个加密后的信息发回给你的电脑。
  4. 出示“钥匙”: 你的电脑使用本地保管的私钥(钥匙),对这段加密信息进行“开锁”(解密)。
  5. 验证成功: 你将解密后的原始信息发回给GitHub。GitHub确认信息无误,从而证明了你确实是私钥的合法持有者,认证通过。

关键优势:整个认证过程,你的私钥(钥匙)和密码都从未在网络上传输过,极大地提升了安全性。


http://www.dtcms.com/a/499860.html

相关文章:

  • 网站广告弹窗代码做中学学中做网站
  • seo网站建设哪家专业网站后台无法上传照片
  • SRDF 文件详解与使用方法
  • 【WRF-CMAQ第一期】模型概述
  • 生产企业网站如何做seo网站一年了百度不收录
  • React 思维模式终极指南
  • 网站开发环境构建手机上可以做网站
  • 江苏住房与城乡建设部网站番禺人才网招聘网官网
  • 高并发内存池项目开发记录 - 02
  • FACT-AUDIT
  • 怎么做网站镜像三种常见的网络营销方式
  • 登陆工伤保险网站 提示未授权 怎么做wordpress如何导出
  • 做外贸网站怎么做人才网网站开发手册
  • 软件测试之压力测试详解
  • vue3二次封装element-plus表格,slot透传,动态slot。
  • RDP 远程桌面连接常见问题详解:仅使用网络级别身份验证、微软账户密码、远程登录后的用户状态
  • C程序中的循环语句
  • 湖南省城乡建设厅网站邮箱网站怎么做
  • Linux基础指令(完结)、shell命令与Linux权限(1) |tar|bc|uname|热键|shutdown|shell|权限
  • 能看网站的浏览器wordpress 自定义注册表单
  • 佛山网页网站设计做网站要多少人
  • DeepSeek辅助利用搬移底层xml实现快速编辑xlsx文件的python程序
  • 营销型外贸网站建设医疗网站怎么做seo
  • 【Swift】LeetCode 3. 无重复的最长子串
  • 深圳品牌网站建设公司招聘百度账号中心官网
  • jdk.nio.zipfs 包详解
  • 小说网站建设目的车牌照损坏在网站做的能用吗
  • 专业提供网站建设服务包括wordpress 联系人表单
  • Spring 核心原理:Bean 作用域、生命周期与 SpringBoot 自动配置
  • [MLflow] 环境管理 | MLflow模型 | Flavors与pyfunc