CMD运行SSH命令报错pubkeyacceptedalgorithms配置错误如何修复
报错原因
该报错是本地Windows环境内置的OpenSSH客户端版本过低导致的:PubKeyAcceptedAlgorithms是OpenSSH 8.5版本才新增的配置参数,低于该版本的OpenSSH客户端无法识别这个配置项,就会抛出坏配置选项的错误并终止连接。低版本OpenSSH中实现相同功能的参数名为PubkeyAcceptedKeyTypes。
修复方案
可根据实际需求选择以下任意一种方案,都能在保留原有兼容配置的前提下解决报错:
方案1:修改配置参数名适配低版本客户端(推荐,无需升级系统组件)
打开C:\Users\jjid\.ssh\config配置文件,把第四行的PubKeyAcceptedAlgorithms +ssh-rsa替换为PubkeyAcceptedKeyTypes +ssh-rsa即可,修改后的完整配置如下:Host yy.yy.yy.yy KexAlgorithms +diffie-hellman-group1-sha1 HostKeyAlgorithms +ssh-rsa PubkeyAcceptedKeyTypes +ssh-rsa两个参数的作用完全一致,都是指定接受的公钥认证算法,且高版本OpenSSH对
PubkeyAcceptedKeyTypes做了向后兼容,后续即使升级OpenSSH版本,该配置也不会触发报错。
修改保存后,可以执行ssh -G yy.yy.yy.yy命令验证配置加载情况,没有报错、正常输出配置项就说明修复生效。方案2:升级本地OpenSSH客户端版本
如果需要使用高版本OpenSSH的其他特性,可以将Windows内置的OpenSSH客户端升级到8.5及以上版本,升级完成后原有写的PubKeyAcceptedAlgorithms配置可以正常识别,不需要修改配置内容。
内容的提问来源于stack exchange,提问作者jjid
相关产品推荐
相关产品推荐

