Cygwin:OpenSSH_8.8p1 出现问题,降级至 OpenSSH_8.7p1 可修复此问题

Cygwin:OpenSSH_8.8p1 出现问题,降级至 OpenSSH_8.7p1 可修复此问题

我已经Cygwin在 Windows 10 上使用多年了,并且用它ssh来访问 AWS EC2 Amazon Linux 实例进行开发。最近,我买了一台新的 Windows 10 PC,Cygwin按照通常的方式安装,然后突然ssh停止工作,给出“权限被拒绝(公钥)。“任何使用都会出错。经过各种检查和猜测可能出错的地方后(它在我的旧电脑上仍然可以正常工作),我尝试降级软件包CygwinOpenSSH这样就解决了问题!相反,在我的旧电脑上升级软件包CygwinOpenSSH以与在新电脑上相同的方式破坏它。这是新电脑上的输出,显示它在最新的软件包下损坏,而在稍旧的软件包下可以正常工作。在这两个输出之间我唯一做的事情就是运行Cygwin安装程序并降级OpenSSH软件包。

请注意,两个软件包都报告了相同的底层版本OpenSSL,“OpenSSL 1.1.1l“,所以这看起来像是包装本身的问题。

有任何想法吗?

repete@Rich-QX411 ~/.ssh
$ ssh -V
OpenSSH_8.8p1, OpenSSL 1.1.1l  24 Aug 2021

repete@Rich-QX411 ~/.ssh
$ ssh [email protected] echo hello
[email protected]: Permission denied (publickey).

======== Downgrade the OpenSSH package in another window ========

repete@Rich-QX411 ~/.ssh
$ ssh -V
OpenSSH_8.7p1, OpenSSL 1.1.1l  24 Aug 2021

repete@Rich-QX411 ~/.ssh
$ ssh [email protected] echo hello
hello

repete@Rich-QX411 ~/.ssh

答案1

从 8.8 版开始,OpenSSH不再允许使用 SHA-1 哈希算法生成的 RSA 签名。现有的 RSA 密钥仍可接受,但必须与 SHA-256 一起使用。这既适用于使用客户端用户密钥生成的签名,也适用于使用服务器端主机密钥生成的签名。

第一个支持的 OpenSSH 版本rsa-sha2是 7.2。

如果您需要连接到仅提供 RSA/SHA-1 主机密钥签名的主机,和/或仅接受 RSA/SHA-1 用户密钥签名的主机,请将以下选项添加到您的 ~/.ssh/config:

Host whatever.example.com
    HostKeyAlgorithms +ssh-rsa
    PubkeyAcceptedAlgorithms +ssh-rsa

如果您需要让 OpenSSH 8.8 服务器接受仅接受 RSA/SHA-1 主机密钥签名和/或仅提供 RSA/SHA-1 用户密钥签名的客户端,请将相同的选项添加到服务器的 sshd_config(减去“主机”部分)。

相关内容