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

相关推荐
feng14561 小时前
OpenSREClaw - 从 AIOps 到 RDaaS
运维
行者-全栈开发1 小时前
【运维安全】CVE-2026-46333:Linux内核ptrace权限提升漏洞深度解析与修复指南
运维·linux内核·权限提升·ptrace·cve-2026-46333·ssh-keysign-pwn·安全修复
晚风吹红霞1 小时前
Linux下的趣味编程 —— 进度条、Git版本控制与GDB调试实战
linux·运维·git
nan madol1 小时前
Rocky Linux 9.5 部署 Percona XtraDB Cluster (PXC) 集群
linux·运维·服务器
linux修理工1 小时前
使用 virt-install 命令行快速创建 KVM 虚拟机(以 CentOS 7 为例)
linux·运维·centos
|_⊙1 小时前
进程间通信(System V 标准下的多种通信方式)
linux·运维·服务器
云登指纹浏览器2 小时前
指纹浏览器自动化API对接实战总结:技术方案选型 + 避坑指南
运维·后端·自动化
蹉跎岁月新2 小时前
Jenkins创建一个maven-project
运维·jenkins·maven
原来是猿2 小时前
性能测试(1)
运维·服务器·python·压力测试