惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
GbyAI
GbyAI
博客园 - 叶小钗
B
Blog
Stack Overflow Blog
Stack Overflow Blog
The Register - Security
The Register - Security
W
WeLiveSecurity
S
Secure Thoughts
S
Security @ Cisco Blogs
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Webroot Blog
Webroot Blog
爱范儿
爱范儿
SecWiki News
SecWiki News
N
News and Events Feed by Topic
Y
Y Combinator Blog
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
云风的 BLOG
云风的 BLOG
博客园 - 聂微东
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
U
Unit 42
F
Full Disclosure
PCI Perspectives
PCI Perspectives
Security Archives - TechRepublic
Security Archives - TechRepublic
N
News | PayPal Newsroom
The Last Watchdog
The Last Watchdog
Cloudbric
Cloudbric
O
OpenAI News
S
Security Affairs
D
Docker
博客园 - Franky
Application and Cybersecurity Blog
Application and Cybersecurity Blog
The GitHub Blog
The GitHub Blog
博客园 - 三生石上(FineUI控件)
P
Proofpoint News Feed
Recent Commits to openclaw:main
Recent Commits to openclaw:main
aimingoo的专栏
aimingoo的专栏
Hugging Face - Blog
Hugging Face - Blog
TaoSecurity Blog
TaoSecurity Blog
F
Fortinet All Blogs
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Google DeepMind News
Google DeepMind News
L
LINUX DO - 最新话题
MyScale Blog
MyScale Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 司徒正美
N
News and Events Feed by Topic

Oskyla 烹茶室

修复 Joplin on KDE 菜单栏显示问题 Copy Fail:Linux 内核 2017 年至今的高危漏洞(附临时缓解方案) | CVE-2026-31431 Hermes Agent — 在 K3s / K8s 中运行指南 在 K3s 节点上安装并使用 nerdctl Mouser:轻量开源的罗技鼠标驱动替代方案 Claude Opus 4.7:优缺点与评测信息汇总 openFuyao NPU-Operator故障排查 openFuyao 2603 共测测试报告 openFuyao InferNex AI推理集成部署 310P(300I Pro) 环境问题记录及解决 ceph mon Operation not permitted 问题解决 Ascend 310P + openFuyao + NPU-Operator 故障排查 KDE Plasma6 禁用全局菜单,恢复正常应用菜单 终极指南:在 Linux 裸机服务器上快速部署 Moltbot (原 Clawbot) 并集成飞书 Windows 配置 Claude Code 解决 settings.json 不生效 Windows 配置 Claude Code 全流程 2025-12-31 | 年终总结 AI 生图精品提示词|第二期:城市星球 AI 生图精品提示词|第一期 Kubernetes kubectl --raw 使用指南 彻底解决阿里云和 tailscale 冲突 2025-10-21 | 沉淀思维 macOS 单独为鼠标或触控板开启自然滚动 2025-10-16 | 负载高低 2025-10-15 | 睡眠周期 2025-10-14 | 转换情绪与独立观点 go 拉取 gitcode.com 私有 mod Git 将某个文件恢复到其他分支的状态 SSH 通过跳板机连接 lxc 使用 chronyc 构建 ntp 服务 2025-10-13 | 独立思考于未来能源 2025-10-12|AI Review 及高质量工作流 2025-10-11 | 人生阶段 2025-10-10 | AI Logo | 远程操控 AI 2025-10-09 | 去班味|银杏|域名 2025-10-08 2025-10-07 2025-10-06 2025-10-05 优秀的 SubReddit 清单 Synology 群晖重置 Syncthing 密码 让 LLM 看到真实世界的 Playwright MCP 磁盘占用分析利器 ncdu 自建 gitlab 徽标问题导致项目 500 问题解决 harbor Chartmuseum helm 图表缓存刷新 grep exclude 排除 Debian 11 + PVE LACP Mac 冲突问题调查与解决方案 Claude Code 实用技巧 CentOS 7 重置 root 密码 telnet 如何退出 kubernetes 的挂载传播(mount propagation)机制 vim 将命令输出到当前位置 harbor 替换 ssl 证书 AI提效之使用 cherry-studio + k8sgpt 实现 AI 巡检 k8s Claude Code Subagents 快速开始 《我看见的世界:李飞飞自传》 Lyra - AI Prompt Optimization Specialist Linux 自签名 CA 证书安装方法 超级玛丽、魂斗罗等经典小游戏聚合站 | PlayUnb 个人业余开发项目清单 快速选出收益最高的理财产品 | finance-calculator 苹果液态玻璃风格图像生成和模拟器 | LiquedGlass.icu Linux 进程绑定NUMA节点或CPU核心 判断GPT是否降智的几个问题 Harmony next hap 安装 名侦探柯南贝尔摩德出场集数 k3s k8s 快速部署轻量节点监控方案 beszel k3s-k8s 实现 DevOps 方案横向对比 k8s 配置访问私有镜像仓库 GoAccess 分析多网站日志方法 Octant - 以开发人员为中心的开源 Kubernetes Web 界面 Tailscale 自建 DERP 并配置 SSL 完整教程 OpenManus 使用记录 Plausible 缺失 location 信息的研究 解决 Nginx Ingress returns 413 Entity Too Large 绘图模型效果对比之城市气象 【转】k8s 认知路线 OpenFOAM 两大分支的详细比较 第一个 CUDA 程序之矩阵运算计算效能对比 Archlinux KDE Apache JMeter 配置高分屏缩放 解决 gitlab-runner 移除残留文件 permission denied nginx-ingress 配置路由 302 k8s 触发 pod 重新拉取镜像平滑升级的方法 Clickhouse 迁移后 permission denied 问题解决 Linux CPU 运行模式及功耗分析 Linux vim vi 翻页跳转命令快捷键 git 拉取所有 branch 和 tag 到本地并推送到远程 Rails 性能分析工具 rack-mini-profiler 和 bullet 全球国家、城市、地区开源数据库 Rails Active Record 常用命令 Rails Rake 简介与编写 如何调试 Vim 脚本 名侦探柯南松田阵平出场集数(最新1069话) 名侦探柯南妃英理出场集数(最新1069话) 《名侦探柯南》官方人气投票结果 名侦探柯南TV安室透出场集数(最新1110话) 名侦探柯南TV赤井秀一出场集数(更新至1194话) [转]名侦探柯南TV主线集数整理(截止1165集) 架构风格总结 [转译] 如何成为一个好的开发者? 【影评】名侦探柯南·零的执行人
SSH 密钥类型及格式
Tianlun Song · 2023-06-26 · via Oskyla 烹茶室

本文 首发于 🌱 煎茶转载 请注明 来源

SSH 密钥类型及格式 在使用 ssh-keygen 命令生成密钥对时,有这几个参数需要被注意: #

对密钥对的注释,会追加在公钥最后 -C comment Provides a new comment. # 密钥长度,详细请看描述 -b bits

在使用 ssh-keygen 命令生成密钥对时,有这几个参数需要被注意:

# 对密钥对的注释,会追加在公钥最后
-C comment
             Provides a new comment.
# 密钥长度,详细请看描述
-b bits
             Specifies the number of bits in the key to create.  For RSA keys, the minimum size is 1024 bits and the default is 2048 bits.  Generally, 2048 bits
             is considered sufficient.  DSA keys must be exactly 1024 bits as specified by FIPS 186-2.  For ECDSA keys, the -b flag determines the key length by
             selecting from one of three elliptic curve sizes: 256, 384 or 521 bits.  Attempting to use bit lengths other than these three values for ECDSA keys
             will fail.  Ed25519 keys have a fixed length and the -b flag will be ignored.
# 密钥对名称,如果使用 test 则生成 test 和 test.pub 这对密钥
-f filename
             Specifies the filename of the key file.
# 密钥类型
-t dsa | ecdsa | ed25519 | rsa | rsa1
             Specifies the type of key to create.  The possible values are “rsa1” for protocol version 1 and “dsa”, “ecdsa”, “ed25519”, or “rsa” for protocol ver‐
             sion 2.
# 密钥格式
-m key_format
             Specify a key format for the -i (import) or -e (export) conversion options.  The supported key formats are: “RFC4716” (RFC 4716/SSH2 public or pri‐
             vate key), “PKCS8” (PEM PKCS8 public key) or “PEM” (PEM public key).  The default conversion format is “RFC4716”.

以上内容来自 man ssh-keygen,下面注重讨论一下密钥类型和密钥格式。

SSH 密钥对类型

根据上文的描述, SSH 密钥的几种类型特点及使用场景如下表:

类型

描述

场景

rsa1

对应于SSH协议版本1的RSA算法。这是一种基于大数因子分解难题的算法,RSA是一个被广泛使用的公钥加密系统。

当使用SSH协议版本1时,可以选择此类型。但是需要注意,SSH协议版本1已被视为不安全,因此不推荐使用。

rsa

对应于SSH协议版本2的RSA算法。对于RSA,建议密钥大小至少为2048位;4096位更好。随着对因子分解技术的显著进步,RSA正在变得过时。建议选择不同的算法。在可预见的未来,RSA算法可能会变得实际可破解。所有SSH客户端都支持此算法。

当需要与所有SSH客户端兼容时可以选择此类型。但是需要注意,随着技术的进步,此类型的安全性可能会降低。

dsa

对应于SSH协议版本2的DSA算法。DSA是一种基于计算离散对数难题的US政府数字签名算法。通常与它一起使用的密钥大小为1024。不再推荐使用其原始形式的DSA。

不推荐在新的场景中使用此类型,因为其已经被认为过时。

ecdsa

对应于SSH协议版本2的ECDSA算法。ECDSA是一种使用椭圆曲线的新型数字签名算法。只支持三种密钥大小:256,384和521(有点奇怪!)位。我们建议始终使用521位,因为即使密钥仍然很小,也可能比较小的密钥更安全(尽管它们应该也是安全的)。大多数SSH客户端现在支持此算法。

当需要在新的场景中使用更安全的密钥时,可以选择此类型。

ed25519

对应于SSH协议版本2的ED25519算法。这是在OpenSSH中添加的新算法。客户端对它的支持还不是普遍的。因此,它在通用应用中的使用可能尚不可取。

在客户端普遍支持ed25519的场景中,可以考虑使用此类型。

格式

下面是对ssh-keygen命令的-m key_format参数支持的几种类型的解释及其适用场景:

类型

描述

场景

RFC4716

RFC4716格式,对应于RFC 4716/SSH2的公钥或私钥。这是SSH2的公钥格式,它被许多SSH实现所使用,包括OpenSSH。

当需要与SSH2兼容或与其他使用该格式的系统进行交互时,可以选择此格式。

PKCS8

PKCS8格式,对应于PEM PKCS8的公钥。这是一种用于存储私钥信息的通用格式。

当需要以一种标准和广泛接受的方式存储公钥信息时,可以选择此格式。

PEM

PEM格式,对应于PEM的公钥。这是一种用于存储公钥、私钥和证书的旧式格式,它最初被设计用于邮件加密。

当需要与使用PEM格式的老旧系统进行交互时,可以选择此格式。

需要注意的是,这些格式主要用于在不同系统或应用之间交换和存储公钥和私钥。具体使用哪种格式可能取决于目标系统或应用支持哪种格式。