本文介绍在 Windows 系统上遇到与主机密钥算法不匹配相关的 OpenSSH 连接错误时出现的多种常见原因和解决方案。
通过安全外壳(SSH)连接到服务器时,可能会遇到以下错误:
无法与 <服务器>协商:找不到匹配的主机密钥类型。
主机密钥算法:(不匹配)
拒绝访问(公钥)。
服务器拒绝了密钥。
这些错误通常表示受支持算法不匹配、权限问题或安全问题。
原因 1:更新后的 OpenSSH 版本中禁用 RSA 算法
OpenSSH 8.8 及更高版本默认禁用不安全 ssh-rsa 算法,导致依赖于 RSA 密钥的旧客户端失败连接尝试。
决议
备份现有配置:
Copy-Item "C:\ProgramData\ssh\sshd_config" "C:\ProgramData\ssh\sshd_config.bak"
修改 sshd_config 文件:
以管理员身份打开记事本。
使用以下命令打开 sshd_config 文件:
notepad "C:\ProgramData\ssh\sshd_config"
将以下行添加到文件末尾:
PubkeyAcceptedAlgorithms +ssh-rsa
HostKeyAlgorithms +ssh-rsa
重启 OpenSSH 服务:
Restart-Service sshd
验证 SSH 连接:
ssh -v user@server.example.com
原因 2:authorized_keys文件缺失或不正确或文件权限不正确
连接失败是由于缺少或不正确的 authorized_keys 文件或不正确的文件权限,生成“权限被拒绝”错误。
决议
确保文件 authorized_keys 存在:
文件路径: C:\ProgramData\ssh\administrators_authorized_keys
请将您的公钥正确放置在此文件中。
正确的文件权限:
确保只有管理员对文件具有写入权限:
icacls.exe "C:\ProgramData\ssh\administrators_authorized_keys" /inheritance:r /grant "Administrators:F"
重启 OpenSSH 服务:
net stop sshd
net start sshd
原因 3:注册表中存储的私钥在会话中保留,从而导致安全风险
OpenSSH 的 ssh 代理服务存储的私钥在 Windows 注册表中的会话之间保持,这可能会导致安全风险。
决议
生成私钥时,请使用强加密和通行短语。
通过用户权限限制注册表访问。
定期从官方来源(例如 GitHub)更新 OpenSSH。
应定期审核注册表项,并在不需要时清除敏感键。
可选注册表调整
通过注册表策略安全地管理 RSA 密钥:
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\SSH-Server' -Name AllowRSAKey -Value 1 -Type DWORD
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\SSH-Server\Parameters' -Name AllowRSAKey -Value 1 -Type DWORD
建议的常规安全做法
保护用户帐户并维护严格的文件权限。
定期更新 OpenSSH 以包含最新的安全修补程序。
尽可能使用更强大的算法,例如ED25519或 ECDSA。
让用户了解安全密钥管理做法。
疑难解答日志和诊断
若要在连接尝试期间收集详细的调试日志,请使用详细 SSH 命令:
ssh -vvv user@hostname
分析从工作和非工作环境收集的日志,以确定配置差异。
后续步骤
识别和清点旧客户端仍需要较弱的算法,例如 ssh-rsa。
实施计划的升级策略,将这些客户端迁移到更强大的算法。
解决兼容性问题后,请从 sshd_config中删除临时算法覆盖。
将旧 RSA 密钥替换为更强的密钥(最低 3072 位 RSA 或 ED25519)。
References
OpenSSH for Windows 中基于密钥的身份验证
OpenSSH 8.8 发行说明(RSA 弃用)
- 新手用哪个eclipse版本开发Android好点新手开发Android时推荐使用最新的Eclipse版本配合Android Development Tools(ADT)插件,因为最新版本通常会包括最新的功能更新、性能优化、安全修复...
- 日本十大名烧六大古窑,日本瓷器窑口排名从镰仓至室町(1336—1573)时代,日本出现了著名的“六大古窑”,为日本日后成为“陶瓷之国”奠定了坚实基础。日本十大名烧六大古窑分别...
- 抖音原声怎么调不了?抖音原声没法开怎么回事?抖音短视频官方版v26.7.0类型:社交网络 大小:198.17MB 评分:9 平台: 标签:社区聊天交友视频短片短视频 立即下载 抖音里面有才的大神真的好...
- 男生要怎样才能保护得了自己女朋友?(男生怎么保护女朋友)一,男生要怎样才能保护得了自己女朋友?男生要怎样保护得了你的女朋友? 首先你的女朋友要值得你去保护,她不可以是个惹祸精,否则你是无...
- 充值相关问题1. 乐币如何充值 您可以在乐子网“充值中心”充值时选择“乐子平台”,即可。 需要注意的是,充值过程中您不需要选择游戏的区服,因为乐...
- 梅林固件科学上网完全指南目录 什么是梅林固件? 梅林固件的特点 梅林固件为什么适合科学上网? 如何安装梅林固件? a. 推荐的路由器型号 b. 安装步骤详解 如何配置梅...
- 群星1.5政体体系分类详解 政体体系形成条件群星1.5政体体系分类 首先是通用政体,未选唯心/唯物/军国/和平也没点特殊的civic就会出这些,所有领导人可以参与选举。我就不一个一个列举...
- 阎王爷居然是外来户?地府到底是怎样运转的?探索地府的编制体系在中国古人的世界观里——地府究竟是什么样子? 又是怎样进行运转的?以及这样的设定对我们的社会历史发展又产生了怎样的影响? 今天,...
- 板凳上飞出的金凤凰——解析世界杯各队替补席世界杯今天就将开幕,各队的主力都以摩拳擦掌,准备首场比赛,其实德国世界杯上,如果想取得佳绩,除了主力阵容外,替补的实力也不容忽...
- 北京不建档可以产检的医院名单分享,排名前十都有这几家北京不建档可以做产检的医院很少,大部分医院都需要建档之后才能够进行产检,对于有才产检需求的话可以选择在北京这十家妇产科医院产检...