跳到主要内容
ecdsa.com
SSH

SSH 算法名称:密钥交换、加密算法、MAC、密钥

本页收录 IANA 注册表中 SSH 传输层协议使用的各类算法名称:密钥交换、加密、消息认证码(MAC)和公钥算法,并附 RFC 9142 针对每个算法给出的实现指导。

显示 112 项中的 112 项

SSH 密钥交换方法 · 41 个条目

SSH 传输协议的密钥交换方法名称,附 RFC 9142 的实现建议。

名称说明参考文献
curve25519-sha256说明curve25519-sha256 是 SSH 密钥交换方法。实现建议(RFC 9142):应该(SHOULD)。RFC 8731
curve448-sha512curve448-sha512 是 SSH 密钥交换方法。实现建议(RFC 9142):可以(MAY)。RFC 8731
diffie-hellman-group-exchange-sha1diffie-hellman-group-exchange-sha1 是 SSH 密钥交换方法。实现建议(RFC 9142):不应(SHOULD NOT)。RFC 4419RFC 8270
diffie-hellman-group-exchange-sha256diffie-hellman-group-exchange-sha256 是 SSH 密钥交换方法。实现建议(RFC 9142):可以(MAY)。RFC 4419RFC 8270
diffie-hellman-group1-sha1说明diffie-hellman-group1-sha1 是 SSH 密钥交换方法。实现建议(RFC 9142):不应(SHOULD NOT)。RFC 4253
diffie-hellman-group14-sha1diffie-hellman-group14-sha1 是 SSH 密钥交换方法。实现建议(RFC 9142):可以(MAY)。RFC 4253
diffie-hellman-group14-sha256diffie-hellman-group14-sha256 是 SSH 密钥交换方法。实现建议(RFC 9142):必须(MUST)。RFC 8268
diffie-hellman-group15-sha512diffie-hellman-group15-sha512 是 SSH 密钥交换方法。实现建议(RFC 9142):可以(MAY)。RFC 8268
diffie-hellman-group16-sha512diffie-hellman-group16-sha512 是 SSH 密钥交换方法。实现建议(RFC 9142):应该(SHOULD)。RFC 8268
diffie-hellman-group17-sha512diffie-hellman-group17-sha512 是 SSH 密钥交换方法。实现建议(RFC 9142):可以(MAY)。RFC 8268
diffie-hellman-group18-sha512diffie-hellman-group18-sha512 是 SSH 密钥交换方法。实现建议(RFC 9142):可以(MAY)。RFC 8268
ecdh-sha2-*ecdh-sha2-* 是 SSH 密钥交换方法系列;名称的其余部分由所引用的文档定义。实现建议(RFC 9142):可以(MAY)。RFC 5656
ecdh-sha2-nistp256ecdh-sha2-nistp256 是 SSH 密钥交换方法。实现建议(RFC 9142):应该(SHOULD)。RFC 5656
ecdh-sha2-nistp384ecdh-sha2-nistp384 是 SSH 密钥交换方法。实现建议(RFC 9142):应该(SHOULD)。RFC 5656
ecdh-sha2-nistp521ecdh-sha2-nistp521 是 SSH 密钥交换方法。实现建议(RFC 9142):应该(SHOULD)。RFC 5656
ecmqv-sha2ecmqv-sha2 是 SSH 密钥交换方法。实现建议(RFC 9142):可以(MAY)。RFC 5656
ext-info-cext-info-c 是 SSH 密钥交换方法。实现建议(RFC 9142):应该(SHOULD)。RFC 8308
ext-info-sext-info-s 是 SSH 密钥交换方法。实现建议(RFC 9142):应该(SHOULD)。RFC 8308
gss-gss- 是 SSH 密钥交换方法系列;名称的其余部分由所引用的文档定义。实现建议(RFC 9142):保留。RFC 4462
gss-curve25519-sha256-*gss-curve25519-sha256-* 是 SSH 密钥交换方法系列;名称的其余部分由所引用的文档定义。实现建议(RFC 9142):应该(SHOULD)。RFC 8732
gss-curve448-sha512-*gss-curve448-sha512-* 是 SSH 密钥交换方法系列;名称的其余部分由所引用的文档定义。实现建议(RFC 9142):可以(MAY)。RFC 8732
gss-gex-sha1-*gss-gex-sha1-* 是 SSH 密钥交换方法系列;名称的其余部分由所引用的文档定义。实现建议(RFC 9142):不应(SHOULD NOT)。RFC 4462RFC 8732
gss-group1-sha1-*gss-group1-sha1-* 是 SSH 密钥交换方法系列;名称的其余部分由所引用的文档定义。实现建议(RFC 9142):不应(SHOULD NOT)。RFC 4462RFC 8732
gss-group14-sha1-*gss-group14-sha1-* 是 SSH 密钥交换方法系列;名称的其余部分由所引用的文档定义。实现建议(RFC 9142):不应(SHOULD NOT)。RFC 4462RFC 8732
gss-group14-sha256-*gss-group14-sha256-* 是 SSH 密钥交换方法系列;名称的其余部分由所引用的文档定义。实现建议(RFC 9142):应该(SHOULD)。RFC 8732
gss-group15-sha512-*gss-group15-sha512-* 是 SSH 密钥交换方法系列;名称的其余部分由所引用的文档定义。实现建议(RFC 9142):可以(MAY)。RFC 8732
gss-group16-sha512-*gss-group16-sha512-* 是 SSH 密钥交换方法系列;名称的其余部分由所引用的文档定义。实现建议(RFC 9142):可以(MAY)。RFC 8732
gss-group17-sha512-*gss-group17-sha512-* 是 SSH 密钥交换方法系列;名称的其余部分由所引用的文档定义。实现建议(RFC 9142):可以(MAY)。RFC 8732
gss-group18-sha512-*gss-group18-sha512-* 是 SSH 密钥交换方法系列;名称的其余部分由所引用的文档定义。实现建议(RFC 9142):可以(MAY)。RFC 8732
gss-nistp256-sha256-*gss-nistp256-sha256-* 是 SSH 密钥交换方法系列;名称的其余部分由所引用的文档定义。实现建议(RFC 9142):应该(SHOULD)。RFC 8732
gss-nistp384-sha384-*gss-nistp384-sha384-* 是 SSH 密钥交换方法系列;名称的其余部分由所引用的文档定义。实现建议(RFC 9142):应该(SHOULD)。RFC 8732
gss-nistp521-sha512-*gss-nistp521-sha512-* 是 SSH 密钥交换方法系列;名称的其余部分由所引用的文档定义。实现建议(RFC 9142):应该(SHOULD)。RFC 8732
mlkem1024-sha384mlkem1024-sha384 是 SSH 密钥交换方法。实现建议(RFC 9142):可以(MAY)。draft-harrison-mlkem-ssh-01
mlkem1024nistp384-sha384mlkem1024nistp384-sha384 是 SSH 密钥交换方法。实现建议(RFC 9142):应该(SHOULD)。RFC 10042
mlkem512-sha256mlkem512-sha256 是 SSH 密钥交换方法。实现建议(RFC 9142):可以(MAY)。draft-harrison-mlkem-ssh-01
mlkem768-sha256mlkem768-sha256 是 SSH 密钥交换方法。实现建议(RFC 9142):可以(MAY)。draft-harrison-mlkem-ssh-01
mlkem768nistp256-sha256mlkem768nistp256-sha256 是 SSH 密钥交换方法。实现建议(RFC 9142):应该(SHOULD)。RFC 10042
mlkem768x25519-sha256说明mlkem768x25519-sha256 是 SSH 密钥交换方法。实现建议(RFC 9142):应该(SHOULD)。RFC 10042
rsa1024-sha1rsa1024-sha1 是 SSH 密钥交换方法。实现建议(RFC 9142):不得(MUST NOT)。RFC 4432
rsa2048-sha256rsa2048-sha256 是 SSH 密钥交换方法。实现建议(RFC 9142):可以(MAY)。RFC 4432
sntrup761x25519-sha512sntrup761x25519-sha512 是 SSH 密钥交换方法。实现建议(RFC 9142):应该(SHOULD)。RFC 9941

来源:Secure Shell (SSH) Protocol Parameters(IANA),获取于 2026-10-20。数据许可证:CC0-1.0。 Key Exchange Method Names

重要条目说明

curve25519-sha256

SSH 的 X25519 密钥交换(RFC 8731),也是大多数 SSH 实现默认使用的经典密钥交换。

OpenSSH 于2014年以 curve25519-sha256@libssh.org 的名称引入它;RFC 8731 将去掉后缀的名称标准化。RFC 9142 规定实现应当(SHOULD)支持它。当对端不支持后量子混合算法时,它仍是常用的回退选项。

diffie-hellman-group1-sha1

使用 SHA-1 的 1024 位 Oakley 第 2 组,是最初的 SSH 密钥交换,RFC 9142 现将其列为“不应当”(SHOULD NOT)。

1024 位的组已在国家级预计算能力的范围之内(Logjam,2015年),而 SHA-1 本身也很弱。OpenSSH 从 7.0 版(2015年)起默认禁用了它;对于只提供这一方法的旧网络设备,需要显式地重新启用该方法——真正的解决办法是升级设备。

mlkem768x25519-sha256

ML-KEM-768 + X25519 混合密钥交换,OpenSSH 从 10.0 版起默认使用。

mlkem768x25519-sha256(RFC 10042)将 ML-KEM-768 与 X25519 组合,并用 SHA-256 对结果做哈希。OpenSSH 9.9 加入了这一算法,OpenSSH 10.0(2025年4月)将其设为默认,取代了 sntrup761x25519-sha512;它能使录下的会话免遭未来量子计算机的解密。

SSH 加密算法 · 35 个条目

SSH 传输协议的加密算法名称。

名称说明参考文献
3des-cbc3des-cbc 是 SSH 加密算法。RFC 4253
3des-ctr3des-ctr 是 SSH 加密算法。RFC 4344
AEAD_AES_128_GCMAEAD_AES_128_GCM 是 SSH 加密算法。RFC 5647
AEAD_AES_256_GCMAEAD_AES_256_GCM 是 SSH 加密算法。RFC 5647
aes128-cbcaes128-cbc 是 SSH 加密算法。RFC 4253
aes128-ctraes128-ctr 是 SSH 加密算法。RFC 4344
aes192-cbcaes192-cbc 是 SSH 加密算法。RFC 4253
aes192-ctraes192-ctr 是 SSH 加密算法。RFC 4344
aes256-cbcaes256-cbc 是 SSH 加密算法。RFC 4253
aes256-ctraes256-ctr 是 SSH 加密算法。RFC 4344
arcfourarcfour 是 SSH 加密算法。它已被标记为历史性。RFC 8758
arcfour128arcfour128 是 SSH 加密算法。它已被标记为历史性。RFC 8758
arcfour256arcfour256 是 SSH 加密算法。它已被标记为历史性。RFC 8758
blowfish-cbcblowfish-cbc 是 SSH 加密算法。RFC 4253
blowfish-ctrblowfish-ctr 是 SSH 加密算法。RFC 4344
cast128-cbccast128-cbc 是 SSH 加密算法。RFC 4253
cast128-ctrcast128-ctr 是 SSH 加密算法。RFC 4344
chacha20-poly1305chacha20-poly1305 是 SSH 加密算法。draft-josefsson-ssh-chacha20-poly1305-openssh-01
des-cbcdes-cbc 是 SSH 加密算法。它已被标记为历史性。FIPS 46-3
idea-cbcidea-cbc 是 SSH 加密算法。RFC 4253
idea-ctridea-ctr 是 SSH 加密算法。RFC 4344
nonenone 是 SSH 加密算法。RFC 4253
serpent128-cbcserpent128-cbc 是 SSH 加密算法。RFC 4253
serpent128-ctrserpent128-ctr 是 SSH 加密算法。RFC 4344
serpent192-cbcserpent192-cbc 是 SSH 加密算法。RFC 4253
serpent192-ctrserpent192-ctr 是 SSH 加密算法。RFC 4344
serpent256-cbcserpent256-cbc 是 SSH 加密算法。RFC 4253
serpent256-ctrserpent256-ctr 是 SSH 加密算法。RFC 4344
twofish-cbctwofish-cbc 是 SSH 加密算法。RFC 4253
twofish128-cbctwofish128-cbc 是 SSH 加密算法。RFC 4253
twofish128-ctrtwofish128-ctr 是 SSH 加密算法。RFC 4344
twofish192-cbctwofish192-cbc 是 SSH 加密算法。RFC 4253
twofish192-ctrtwofish192-ctr 是 SSH 加密算法。RFC 4344
twofish256-cbctwofish256-cbc 是 SSH 加密算法。RFC 4253
twofish256-ctrtwofish256-ctr 是 SSH 加密算法。RFC 4344

来源:Secure Shell (SSH) Protocol Parameters(IANA),获取于 2026-10-20。数据许可证:CC0-1.0。 Encryption Algorithm Names

SSH MAC 算法 · 9 个条目

SSH 传输协议的 MAC 算法名称。

名称说明参考文献
AEAD_AES_128_GCMAEAD_AES_128_GCM 是 SSH MAC 算法。RFC 5647
AEAD_AES_256_GCMAEAD_AES_256_GCM 是 SSH MAC 算法。RFC 5647
hmac-md5hmac-md5 是 SSH MAC 算法。RFC 4253
hmac-md5-96hmac-md5-96 是 SSH MAC 算法。RFC 4253
hmac-sha1hmac-sha1 是 SSH MAC 算法。RFC 4253
hmac-sha1-96hmac-sha1-96 是 SSH MAC 算法。RFC 4253
hmac-sha2-256hmac-sha2-256 是 SSH MAC 算法。RFC 6668
hmac-sha2-512hmac-sha2-512 是 SSH MAC 算法。RFC 6668
nonenone 是 SSH MAC 算法。RFC 4253

来源:Secure Shell (SSH) Protocol Parameters(IANA),获取于 2026-10-20。数据许可证:CC0-1.0。 MAC Algorithm Names

SSH 公钥算法 · 27 个条目

SSH 主机密钥和用户密钥使用的公钥算法与签名算法名称。

名称说明参考文献
ecdsa-sha2-*ecdsa-sha2-* 是 SSH 公钥算法系列;名称的其余部分由所引用的文档定义。RFC 5656
ecdsa-sha2-nistp256ecdsa-sha2-nistp256 是 SSH 公钥算法。它属于 ecdsa-sha2-* 系列。RFC 5656, Section 10.1
ecdsa-sha2-nistp384ecdsa-sha2-nistp384 是 SSH 公钥算法。它属于 ecdsa-sha2-* 系列。RFC 5656, Section 10.1
ecdsa-sha2-nistp521ecdsa-sha2-nistp521 是 SSH 公钥算法。它属于 ecdsa-sha2-* 系列。RFC 5656, Section 10.1
nullnull 是 SSH 公钥算法。RFC 4462
pgp-sign-dsspgp-sign-dss 是 SSH 公钥算法。RFC 4253
pgp-sign-rsapgp-sign-rsa 是 SSH 公钥算法。RFC 4253
rsa-sha2-256rsa-sha2-256 是 SSH 公钥算法。RFC 8332
rsa-sha2-512rsa-sha2-512 是 SSH 公钥算法。RFC 8332
spki-sign-dssspki-sign-dss 是 SSH 公钥算法。RFC 4253
spki-sign-rsaspki-sign-rsa 是 SSH 公钥算法。RFC 4253
ssh-dss说明ssh-dss 是 SSH 公钥算法。RFC 4253
ssh-ed25519说明ssh-ed25519 是 SSH 公钥算法。RFC 8709
ssh-ed448ssh-ed448 是 SSH 公钥算法。RFC 8709
ssh-mldsa-44ssh-mldsa-44 是 SSH 公钥算法。draft-sfluhrer-ssh-mldsa-08
ssh-mldsa-65ssh-mldsa-65 是 SSH 公钥算法。draft-sfluhrer-ssh-mldsa-08
ssh-mldsa-87ssh-mldsa-87 是 SSH 公钥算法。draft-sfluhrer-ssh-mldsa-08
ssh-mldsa44-ed25519ssh-mldsa44-ed25519 是 SSH 公钥算法。draft-ietf-sshm-composite-sigs-00
ssh-mldsa87-p384ssh-mldsa87-p384 是 SSH 公钥算法。draft-ietf-sshm-composite-sigs-00
ssh-rsa说明ssh-rsa 是 SSH 公钥算法。RFC 4253
x509v3-ecdsa-sha2-*x509v3-ecdsa-sha2-* 是 SSH 公钥算法系列;名称的其余部分由所引用的文档定义。RFC 6187
x509v3-ecdsa-sha2-nistp256x509v3-ecdsa-sha2-nistp256 是 SSH 公钥算法。它属于 x509v3-ecdsa-sha2-* 系列。RFC 6187, Section 3.3
x509v3-ecdsa-sha2-nistp384x509v3-ecdsa-sha2-nistp384 是 SSH 公钥算法。它属于 x509v3-ecdsa-sha2-* 系列。RFC 6187, Section 3.3
x509v3-ecdsa-sha2-nistp521x509v3-ecdsa-sha2-nistp521 是 SSH 公钥算法。它属于 x509v3-ecdsa-sha2-* 系列。RFC 6187, Section 3.3
x509v3-rsa2048-sha256x509v3-rsa2048-sha256 是 SSH 公钥算法。RFC 6187
x509v3-ssh-dssx509v3-ssh-dss 是 SSH 公钥算法。RFC 6187
x509v3-ssh-rsax509v3-ssh-rsa 是 SSH 公钥算法。RFC 6187

来源:Secure Shell (SSH) Protocol Parameters(IANA),获取于 2026-10-20。数据许可证:CC0-1.0。 Public Key Algorithm Names

重要条目说明

ssh-dss

SSH 的 DSA 密钥,限定为 1024 位和 SHA-1;OpenSSH 10.0 已彻底移除对它的支持。

SSH 的 DSA 规范把密钥长度固定为 1024 位,哈希固定为 SHA-1。OpenSSH 在 7.0(2015年)中默认禁用了 DSA,并在 10.0(2025年)中将其移除。将 ssh-dss 密钥替换为 Ed25519 或 ECDSA 密钥。

ssh-ed25519

Ed25519 SSH 密钥(RFC 8709),自 OpenSSH 9.5 起 ssh-keygen 默认生成这种类型。

ssh-ed25519 公钥只有 32 字节,authorized_keys 中的行因此很短。OpenSSH 9.5(2023年10月)将 Ed25519 设为 ssh-keygen 的默认密钥类型。参见 edwards25519。

ssh-rsa

SSH 的 RSA 密钥格式——同时也是使用 SHA-1 的旧式 RSA 签名的名称,OpenSSH 在 8.8 中已禁用这种签名。

这个名称有歧义:作为密钥类型,ssh-rsa 仍然表示所有 RSA 密钥;作为签名算法,它指使用 SHA-1 的 PKCS#1 v1.5。OpenSSH 8.8(2021年)默认禁用了 ssh-rsa 签名;RSA 密钥仍可配合 rsa-sha2-256 和 rsa-sha2-512 签名算法(RFC 8332)继续使用,服务器通过 server-sig-algs 扩展通告这两种算法。

全部注册表