我无法从 Rocky Linux 9.2 操作系统服务器执行 sftp。出现错误“无法与 10.7.4.5 端口 22 协商:未找到匹配的主机密钥类型。他们的报价:ssh-rsa、ssh-dss”
错误快照:
root@edna1-dc21 ~]# sftp[电子邮件受保护] 无法与 10.7.4.5 端口 22 协商:未找到匹配的主机密钥类型。他们的报价:ssh-rsa,ssh-dss 连接已关闭。连接已关闭
答案1
10.7.4.5 服务器中的服务器sshd
使用较旧的基于 SHA1 的主机密钥算法,系统中的 SSH 客户端edna1-dc21
默认不再使用该算法。
您可以Host
在~/.ssh/config
文件中添加一个块edna1-dc21
,如下所示:
Host 10.7.4.5
HostKeyAlgorithms ssh-rsa,ssh-dss
或者,您也可以通过添加命令行选项来完成此操作:
sftp -oHostKeyAlgorithms=ssh-rsa,ssh-dss [email protected]
这将告诉新的 SSH 客户端接受那些旧的已弃用的主机密钥算法,只要它们仍然受支持。
如果sshd
远程服务器中的 非常旧,进行此更改后您可能会收到另一条错误消息:
... no matching key exchange method found. Their offer: <something>.
这表明您需要KexAlgorithms <something>
在命令行中~/.ssh/config
或-oKexAlgorithms=<something>
命令行上添加一个选项。