讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux怎么配置SSH只使用Ed25519或RSA4096安全算法证书

梦晨小哥_2051

梦晨小哥_2051

发布时间:2026-11-02 10:01:21

|

579人浏览过

|

来源于php中文网

原创

必须显式配置sshd_config的KexAlgorithms、Ciphers、Macs和HostKeyAlgorithms四参数,仅保留curve25519-sha26、aes256-gcm@openssh.com等强算法及ssh-ed25519/rsa-sha2-512,同步生成对应ed25519或RSA-4096 HostKey文件,并用sshd -t验证后reload。

linux怎么配置ssh只使用ed25519或rsa4096安全算法证书

只允许 Ed25519 或 RSA-4096,必须改 sshd_config 的 KexAlgorithms、Ciphers、Macs 和 HostKeyAlgorithms

OpenSSH 默认会启用一堆算法(包括老旧不安全的),但“只用 Ed25519 或 RSA-4096”不是指密钥类型,而是指整个 SSH 协议握手阶段的算法组合。光生成 id_ed25519 不够,服务端必须明确拒绝弱算法,否则客户端仍可能降级协商出 ssh-rsa(已被 OpenSSH 8.8+ 默认禁用签名)或 diffie-hellman-group1-sha1 等已弃用项。

关键配置项要一起收紧:

  • KexAlgorithms:只保留现代密钥交换,例如 curve25519-sha256,ecdh-sha2-nistp521(禁用所有 dh 和 group1/14)
  • Ciphers:禁用 cbc 模式和 arcfour,只留 aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
  • Macs:只留 hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
  • HostKeyAlgorithms:这是重点——控制服务器用哪种密钥做主机认证,必须显式列出 ssh-ed25519,rsa-sha2-512,rsa-sha2-256,并**去掉 ssh-rsa**(OpenSSH 8.8+ 已默认不接受该签名)

改完后务必运行 sudo sshd -t 检查语法,再 sudo systemctl reload sshd(不要直接 restart,避免连接中断)。

服务器端 HostKey 必须包含 Ed25519 或 RSA-4096 密钥文件

即使 HostKeyAlgorithms 列了 ssh-ed25519,如果 /etc/ssh/ssh_host_ed25519_key 文件不存在,sshd 启动时会静默跳过,回退到其他可用 HostKey(比如残留的 ssh_host_rsa_key,若它只有 2048 位就违规)。

确认并生成合规 HostKey:

  • 检查现有密钥:sudo ssh-keygen -l -f /etc/ssh/ssh_host_ed25519_key 2>/dev/null || echo "missing ed25519"
  • 生成 Ed25519 HostKey:sudo ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ""
  • 生成 RSA-4096 HostKey(仅当必须兼容旧客户端):sudo ssh-keygen -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key -N ""
  • 删掉不合规的旧密钥(如 ssh_host_rsa_key 是 2048 位):sudo rm /etc/ssh/ssh_host_rsa_key*

注意:-N "" 表示无密码,因为 HostKey 是系统自动加载的,不能设口令。

Linux Security Scanner
Linux Security Scanner

Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...

下载

客户端连接时被拒?大概率是算法协商失败,不是密钥问题

常见错误信息如:no matching host key type found. Their offer: ssh-rsa 或 no matching key exchange method found,说明客户端和服务端在 HostKeyAlgorithms 或 KexAlgorithms 上完全对不上。

临时调试方法(不推荐长期使用):

  • 客户端强制指定算法测试:ssh -o HostKeyAlgorithms=ssh-ed25519 user@host
  • 查看服务端实际支持的算法:ssh -vvv user@host 2>&1 | grep "server offers"(找 kex、hostkey 相关行)
  • 别用老版本 OpenSSH 客户端(如 CentOS 7 自带的 7.4p1),它根本不认识 ssh-ed25519;升级到 OpenSSH 7.8+ 更稳妥

真实环境中,客户端通常不需要额外配置——只要服务端算法列表干净、HostKey 存在且权限正确(/etc/ssh/ssh_host_*.key 必须是 root:root 且权限 600),新客户端就能自动协商成功。

为什么不能只改 PubkeyAuthentication 就算“只用 Ed25519”?

PubkeyAuthentication yes 只控制用户认证是否允许公钥登录,跟服务端用什么算法做主机认证、密钥交换、加密完全无关。它不干预 ssh-rsa 主机密钥继续被使用,也不阻止客户端用弱 cipher 连接。

真正实现“只用 Ed25519 或 RSA-4096”的硬约束,在于四组算法参数的显式声明 + 对应 HostKey 文件的存在与权限。漏掉任意一环,都可能让漏洞或降级攻击有机可乘。

最容易被忽略的是:改完 sshd_config 后没生成对应 HostKey 文件,或者忘了 sshd -t 验证就 reload,结果服务静默降级到备用算法——而你根本不会收到任何告警。

热门AI工具

更多
二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

相关专题

更多
页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

6536

2023.08.14

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

4350

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3653

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2913

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

7210

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

6842

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3913

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

3405

2023.07.20

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

0

2026.11.02

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

ubuntu官方总文档
ubuntu官方总文档

共0课时 | 0人学习

phpstorm开发手册
phpstorm开发手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn