OE_ssh密钥_密钥种类和分别

OE :Operations Engineer

SSH 常用密钥类型(RSA / Ed25519 / ECDSA / DSA) 主要有四种,下面将从原理、安全、性能、兼容性、适用场景多个方面分条列述。

一、SSH 密钥有哪几种?

主流 4 种:

  • RSA:最古老、兼容性最好(GitBlit 1.8.0 只认它)
  • Ed25519:现代、最快、最安全(你用的这种,旧系统不认)
  • ECDSA:椭圆曲线、NIST 标准,安全中等
  • DSA:老旧、不安全、已废弃,不要再用

二、每种密钥详解

1)RSA(最兼容、老牌)

  • 诞生:1977 年,SSH 从一开始就支持
  • 原理:基于大整数分解难题
  • 长度:常用 2048 / 4096 bit(越长越安全、越慢)

安全强度:

复制代码
    2048 ≈ 112 位安全
    4096 ≈ 128 位安全

优点:

复制代码
    兼容性最强:所有旧服务器、老 Git 系统(GitBlit 1.8.0)都支持
    可用于加密 + 签名

缺点:

复制代码
    速度慢(生成、连接都比 Ed25519 慢)
    密钥长:2048 公钥约 370+ 字符

生成命令

bash 复制代码
ssh-keygen -t rsa -b 2048 -C "your@mail.com"
复制代码
适用:老系统、兼容性优先(GitBlit 1.8.0、旧交换机、老 Linux)

2)Ed25519(现代首选、最快最安全)

  • 诞生:2011 年,OpenSSH 6.5(2014)开始支持
  • 原理:椭圆曲线 Curve25519(EdDSA 签名)
  • 长度:固定 256 bit(很小)

安全强度:256bit ≈ RSA 3072bit 以上(约 128 位安全)

优点:

复制代码
    速度极快:生成、签名、验证都比 RSA 快很多
    密钥极小:公钥仅 68 字符左右,复制不易错
    抗侧信道攻击、抗量子潜力更好

缺点:

复制代码
    旧系统不支持(GitBlit <1.9.0、OpenSSH <6.5 不认)

生成命令

bash 复制代码
ssh-keygen -t ed25519 -C "your@mail.com"
复制代码
适用:新服务器、GitHub/Gitee/GitLab、日常主力

3)ECDSA(椭圆曲线、NIST 标准)

  • 原理:NIST 标准椭圆曲线(P-256/P-384/P-521)
  • 长度:256/384/521 bit
  • 安全:256bit ≈ RSA 3072bit

特点:

  • 比 RSA 快、比 Ed25519 慢
  • 企业合规(FIPS)常用
  • 曲线安全性有争议(NSA 参与设计)

生成

bash 复制代码
ssh-keygen -t ecdsa -b 256 -C "your@mail.com"
复制代码
适用:政府 / 金融合规环境

4)DSA(彻底淘汰,别用)

  • 原理:离散对数
  • 长度:固定 1024 bit(安全不足)
  • 现状:OpenSSH 7.0 默认禁用,10.0 彻底删除支持
  • 结论:完全废弃,不要生成、不要使用

三、四种密钥直观对比(重点)

表格

类型 安全 速度 兼容性 密钥长度 推荐度
RSA 2048/4096 中高 ✅ 最好 老系统必选
Ed25519 极高 最快 ❌ 旧系统不行 很短 新系统首选
ECDSA P-256 一般 合规场景
DSA 差(已淘汰) 固定 1024 ❌ 禁用

四、日常使用最佳建议

新服务器 / GitHub / Gitee / GitLab:一律用 Ed25519

bash 复制代码
 ssh-keygen -t ed25519 -C "your@mail.com"

老系统(GitBlit <1.9、旧设备):用 RSA 2048/4096

bash 复制代码
 ssh-keygen -t rsa -b 2048 -C "your@mail.com"

永远不要用 DSA

相关推荐
hi_ro_a17 分钟前
Linux基础开发工具详解
linux·运维·服务器
嵌入式阿蔡24 分钟前
Linux_01:交叉编译与开发环境实战——从单片机跨到 Linux 的第一道坎
linux·运维·网络·单片机·嵌入式硬件·嵌入式实时数据库
Pocker_Spades_A1 小时前
终端里也能斗地主:Linux部署Ratel,从本地对战到公网联机
linux·运维·服务器
佳児素花痴╮1 小时前
C语言链接库
linux·运维·服务器
云飞云共享云桌面2 小时前
苏州昆山精密机械加工厂研发部门10个SolidWorks可以部署云飞云共享云桌面吗?
大数据·运维·服务器·自动化·汽车·制造
小嵌同学2 小时前
Linux 内核中的 Per-CPU 机制详解
linux·运维·arm开发·嵌入式
云飞云共享云桌面2 小时前
自动化设备厂 10 人研发团队,如何共用一台服务器做 SolidWorks 建模?
运维·服务器·网络·3d·自动化·制造
QH139292318803 小时前
NVIDIA H200 H300服务器
运维·服务器·开发语言·网络·信息与通信
Hello-FPGA3 小时前
嵌入式LINUX 设备 ip配置后怎么保存才能掉电不消失?
linux·运维·服务器
zhixingheyi_tian4 小时前
Linux 之 ssh
linux·服务器·ssh