OpenSSH协议(密钥和私钥)
Git里连接远程仓库(比如GitHub)的SSH和HTTPS两种方式,核心区别在“认证方式”和“使用体验”,看这张对比表更清楚:
| 维度 | SSH方式 (Use bundled OpenSSH) | HTTPS方式(Use external OpenSSH) |
|---|---|---|
| 认证方式 | 用「SSH密钥对」(本地生成密钥,把公钥传到GitHub) | 每次操作输入「GitHub账号密码」或「令牌(Token)」 |
| 首次配置 | 略复杂(需要生成/上传密钥) | 简单(直接输入账号密码/令牌) |
| 后续使用 | 配置好后不用重复输入密码,一劳永逸 | 每次操作可能需要重复验证(或配置凭证缓存) |
| 安全性 | 密钥存在本地,更安全(无密码泄露风险) | 需妥善保管密码/令牌,有泄露风险 |
| 适用场景 | 长期频繁操作仓库(比如开发者日常开发) | 临时/偶尔操作仓库(比如快速拉取代码) |
| 工具 | OpenSSH | powrshell/cmd/xshell |
简单说:长期用选SSH(一次配置终身省心),临时用选HTTPS(上手快)。
我把「公钥/私钥」和「本地SSH(Git自带)/外部SSH」的区别分两个表格整理,更清晰:
表格1:公钥 vs 私钥(SSH密钥对的两个部分)
| 维度 | 公钥 | 私钥 |
|---|---|---|
| 存储位置 | 上传到远程仓库(如GitHub的账号设置里) | 仅保存在自己的电脑本地 |
| 作用 | 远程仓库用它加密数据,只有对应的私钥能解密 | 本地用它解密远程仓库的加密数据,证明“你是你” |
| 可见性 | 可以公开分享(泄露了也不影响安全) | 绝对不能泄露(泄露会导致仓库被他人非法访问) |
| 生成方式 | 和私钥是成对生成的(生成私钥时自动生成公钥) | 通过ssh-keygen命令生成(Git自带/外部SSH都能用这个命令) |
表格2:Git自带SSH(本地SSH) vs 外部SSH
| 维度 | Git自带SSH(bundled OpenSSH) | 外部SSH(如单独安装的OpenSSH) |
|---|---|---|
| 来源 | 随Git安装包一起自带 | 单独从OpenSSH官网/系统商店下载安装 |
| 密钥存储路径 | 默认存在C:\用户\你的用户名\.ssh文件夹下 |
可自定义路径,也可沿用系统默认路径 |
| 生成密钥的命令 | 用git bash里的ssh-keygen命令 |
用外部SSH终端里的ssh-keygen命令 |
| 和Git的兼容性 | 和Git高度适配,无需额外配置 | 需确保路径被加入系统环境变量,Git才能识别 |
| 适用场景 | 新手/不想额外折腾的用户 | 有特殊SSH功能需求的进阶用户 |
简单总结:
- 公钥+私钥是SSH认证的“钥匙对”,不管用Git自带还是外部SSH,都需要生成这对密钥;
- Git自带SSH是“省心版”,外部SSH是“自定义版”,但对普通用户来说,用Git自带的SSH完全够用~
---
区分一下三个SSH,别混淆,我自己的理解就是他们肯定有点关联,可能是和SSH协议关联,还得看看
| 对比维度 | SSH(协议) Secure Shell |
SSH(Java框架) Struts + Spring + Hibernate |
SSH(小飞机) SS/SSR 等代理工具的俗称 |
|---|---|---|---|
| 核心定义 | 一种安全的网络传输协议,用于加密远程登录、数据传输(如Git/服务器管理) | 三个Java开源框架的组合,是早期Java Web开发的经典技术栈 | 代理工具 |
| 所属领域 | 网络安全/通信协议 | Java Web开发/企业级应用开发 | 代理工具 |
| 核心用途 | 1. 加密远程连接服务器(如Linux服务器登录); 2. Git通过SSH协议连接远程仓库; 3. 安全传输文件(scp/sftp) |
1. Struts:处理前端请求、控制层; 2. Spring:核心容器、依赖注入、事务管理; 3. Hibernate:ORM框架,简化数据库操作 |
代理工具 |
| 发明者/起源 | 1995年由Tatu Ylönen开发,替代不安全的Telnet协议 | 2000年后逐步形成的Java开发组合(Struts:Apache;Spring:Rod Johnson;Hibernate:Gavin King) | 代理工具 |
| 使用场景举例 | - 用ssh root@服务器IP登录阿里云服务器;- Git通过SSH协议推送代码到GitHub |
- 开发电商网站、企业管理系统; - 传统Java后端项目快速搭建 |
(违规场景)访问境外未备案网站、规避网络监管(不合法) |
| 是否开源/标准化 | 标准化协议(RFC 4250-4256),开源实现(OpenSSH) | 三个框架均为开源,有成熟的官方文档和社区 | 非标准化工具,多为民间修改版,无官方维护 |
| 和“密钥/加密”的关系 | 核心依赖非对称加密(公钥/私钥),是加密通信的核心 | 无直接加密功能,仅为开发框架,加密需额外实现 | 基于加密算法(如AES、ChaCha20)实现代理数据传输加密 |
| 新手易混淆点 | 我们之前聊的Git/SSH认证,指的是这个协议 | 仅Java开发场景会接触,和网络协议无关 | 纯民间俗称,和真正的SSH协议无技术关联 |
SSH协议只是其中一个,网络分为五层
互联网中的协议数量没有绝对固定值——因为协议是分层设计(如OSI/RM 7层、TCP/IP 4层),不同层级、不同场景(通信、存储、安全等)都有对应的标准协议,且随着技术发展会持续新增/淘汰。
以下从「分层分类」角度,整理核心常用协议清单(覆盖你之前关注的协议,按TCP/IP分层逻辑归类),帮你建立系统认知:
一、TCP/IP分层核心协议总览(常用协议约50+,以下为关键分类)
| 分层 | 核心作用 | 常用协议清单(含你关注的协议) |
|---|---|---|
| 应用层 | 直接面向用户/应用,定义数据用途 | 1. 通信类:HTTP、HTTPS、SSH、FTP、SFTP、SMTP(邮件发送)、POP3/IMAP(邮件接收)、DNS(域名解析); 2. 数据交互类:REST API(基于HTTP)、WebSocket(实时通信)、MQTT(物联网); 3. 文件传输类:FTPS(FTP加密版)、SCP(SSH文件传输)、TFTP(简单文件传输); 4. 其他:Telnet(明文远程登录,已淘汰)、SNMP(设备管理)、NTP(时间同步) |
| 传输层 | 保障端到端数据传输可靠性/效率 | 1. 可靠传输:TCP(你关注的协议,HTTP/HTTPS/SSH/FTP均基于此); 2. 高效传输:UDP(视频通话、直播、DNS查询); 3. 其他:SCTP(融合TCP/UDP优势,用于电信网络) |
| 网络层(网际层) | 负责跨网络路由、地址寻址 | 1. 核心协议:IP(IPv4/IPv6,互联网基础); 2. 辅助协议:ICMP(网络诊断,如ping命令)、ARP(局域网地址解析)、RARP(反向地址解析)、IGMP(组播管理) |
| 数据链路层 | 负责物理链路数据传输(帧封装) | 1. 局域网:Ethernet(以太网协议)、WiFi(802.11系列协议); 2. 广域网:PPP(拨号上网)、HDLC(路由器通信); 3. 其他:VLAN(虚拟局域网)、STP(防环路) |
| 物理层 | 定义物理设备接口(电信号/硬件) | 1. 有线:RJ45(网线接口)、光纤传输协议; 2. 无线:蓝牙(802.15)、NFC、5G/4G(蜂窝网络协议); 3. 其他:RS-232(串口协议) |
二、关键补充说明
- 协议数量的“无限性”:
- 标准协议:仅IETF(互联网工程任务组)发布的RFC文档中,已标准化的协议就有上千个(大部分用于特定场景,如物联网、工业控制);
- 自定义协议:企业/开发者可基于底层协议(如TCP/UDP)设计私有协议(如游戏通信协议、工业设备协议),这类协议无统一统计;
- 核心协议vs边缘协议:
- 你之前关注的TCP、HTTP、HTTPS、SSH、FTP属于「核心常用协议」(互联网基础);
- 边缘协议:如用于卫星通信的DVB-S2、工业控制的Modbus、物联网的CoAP等,仅在特定领域使用;
- 协议的“替代与演进”:
- 淘汰协议:Telnet(被SSH替代)、HTTP/1.0(被HTTP/1.1/2/3替代)、早期FTP(被SFTP/FTPS替代);
- 新增协议:HTTP/3(基于UDP,优化传输效率)、QUIC(谷歌推出,用于Chrome浏览器)、IPv6(替代IPv4解决地址枯竭)。
三、新手重点掌握清单(无需记所有协议)
| 分层 | 必学协议(工作/学习高频) | 核心用途 |
|---|---|---|
| 应用层 | HTTP、HTTPS、SSH、FTP、DNS | 网页访问、安全通信、远程登录、文件传输、域名解析 |
| 传输层 | TCP、UDP | 可靠传输(文件/网页)、高效传输(视频/直播) |
| 网络层 | IP、ICMP | 跨网络通信、网络诊断(ping) |
| 数据链路层 | Ethernet、WiFi | 局域网/无线局域网连接 |
简单说:协议是“互联网的语言”,不同设备/场景需要不同的“语言”沟通,核心常用协议仅10+个,掌握这些就能应对大部分开发/运维场景。如果需要深入了解某类协议(如物联网协议、安全协议),可以进一步细化。
guess:
猜测,五层tcpip协议,是因为频段的不同,或者是因为磁场的不同,就像符合人体的三脉七轮规律一样,或者类似于七轮变成五行八字,很扯淡,很bullshit,但是有点像,就是频段不同,分阶层,还有磁场不同,就是对应的电磁波频率是不一样的,
五层协议,七层协议:
物理层:硬件设备啊,线,传输二进制数据0101的线, 网线,HDMI线(这个一般情况下笔记本用不到),
数据链路层:
网络层:防火墙
传输层:
应用层:
区分一下OpenSSH客户端和Openssh服务器

posted on 2026-01-03 22:37 Skeleton_s 阅读(10) 评论(0) 收藏 举报
浙公网安备 33010602011771号