我在Windows上安装了OpenSSH。
我可以通过ssh从这台Windows机器通过Putty成功地连接到远程服务器。
但是当打开一个PowerShell,并尝试
ssh my_user@1.2.3.4
我有个错误:
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不同?
发布于 2020-02-08 09:06:53
劳尔对自己问题的回答是正确的。我遇到了同样的问题,并在-m
选项生效后添加了正确的算法名(在我的示例中,该选项是-m hmac-sha2-512
,用于从PowerShell连接到运行Ubuntu18.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>
发布于 2019-12-13 23:51:01
井,
Corrupted MAC on input.
让我想想我的以太网卡出了什么问题。
实际上,在ssh世界中,MAC的意思是“消息身份验证代码”。
因此,我通过在ssh命令选项-m中添加远程可接受算法来解决我的问题。
发布于 2022-10-17 16:32:58
我尝试了许多可用的解决方案,但下面的一个有效。
将"MACs hmac-sha2-512“添加到SSH配置文件中。
https://serverfault.com/questions/994646
复制相似问题