Windows 上的 ssh – 输入时 MAC 地址损坏

Windows 上的 ssh – 输入时 MAC 地址损坏

我已经在 Windows 上安装了 OpenSSH。

我可以从这台 Windows 机器上使用 Putty 通过 ssh 成功连接到我的远程服务器。

但是当打开 PowerShell 并尝试

ssh [email protected]

我遇到了错误:

debug3: send packet: type 5                                                                    
Corrupted MAC on input.                                                                        
ssh_dispatch_run_fatal: Connection to 1.2.3.4 port 22: message authentication code incorrect

当我在安全日志中查看远程服务器时,我得到了:

Dec  7 03:20:22 allo-01 sshd[10102]: Connection from 4.3.2.1 port 49869 on 1.2.3.4 port 22
Dec  7 03:20:23 allo-01 sshd[10102]: Connection reset by 4.3.2.1 port 49869 [preauth]

你知道哪里出了问题吗?为什么我在 Windows 上使用 openssl 的 ssh 命令与 PuTTY 的行为不同?

答案1

Raoul 对自己问题的回答是正确的。我遇到了同样的问题,在-m选项后添加正确的算法名称有效(在我的情况下,选项是-m hmac-sha2-512从 PowerShell 连接到运行 Ubuntu 18.04 的计算机)。

我不确定要使用哪种算法,但您可以通过运行以下命令列出所有可用的算法:

ssh -Q mac

我随机选择了一个,尝试了一下,远程服务器返回说不支持该算法,但它很方便地告诉我哪个算法是支持的,这样我就可以修改命令了。然后我可以使用这个命令 ssh 进入远程机器:

ssh -m hmac-sha2-512 <user_name>@<remote_address>

如果也需要使用scp,参数会有所不同:

scp -o MACs=hmac-sha2-512 <and the rest of your scp command>

答案2

出色地,

Corrupted MAC on input.

让我想想我的以太网卡出了什么问题。

确实,在 ssh 的世界里,MAC 的意思是“消息认证码”。

因此,我通过在 ssh 命令选项 -m 中添加远程可接受的算法来解决我的问题。

答案3

我尝试了许多可用的解决方案,但下面的解决方案有效。

将“MACs hmac-sha2-512”添加到 SSH 配置文件

相关内容