Linux OpenSSH 客户端 (Debian Stretch,OpenSSH 版本 7.4p1)
Windows 10 OpenSSH 服务器(OpenSSH 版本 9.4p1)
所述 Windows 10 OpenSSH 服务器在其硬盘上加载了两个不同的 ECDSA 公钥文件:
C:/ProgramData/ssh/ssh_host_ecdsa_key.pub, 和
C:/cygwin64/etc/ssh_host_ecdsa_key.pub
两年多前,我第一次在 Windows 10 服务器上安装 Cygwin。在使用 Linux 客户端设置 SSH“桥”后,那段时间一切都很顺利,即使是从Debian 杰西到Debian Stretch在所述Linux客户端上。
上周,我更新了上述 Linux 客户端上的 OpenSSH。就在那时,我还注意到分配给上述 Windows 10 服务器的 IP 已更改(我不知道上述 IP 更改是否与上述 OpenSSH 更新有关)。在这次麻烦中,我还通过 Cygwin 更新更新了上述 Windows 10 服务器的 OpenSSH 版本。
昨天,当我尝试从所述 Linux 客户端通过 SSH 连接到所述 Windows 10 服务器(自上述最近更改以来第一次)时,我收到以下消息:
The authenticity of host 'xx.xx.xx.xx (xx.xx.xx.xx)' can't be established
ECDSA key fingerprint is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Are you sure you want to continue connecting (yes/no)?
在调查上述 Windows 10 服务器上加载的 ECDSA 公钥时(以验证与上述消息是否匹配),我发现该服务器中加载的公钥...程序数据该 Linux 客户端已使用该文件夹两年多,现在该 Linux 客户端不再访问该文件夹。相反,该 Linux 客户端想要访问该服务器的 ECDSA 公钥,该公钥位于该服务器的...cygwin64文件夹!
仅供参考,在上述 Windows 10 服务器上,日志目录文件是空白的,并且C:\ProgramData\ssh\logs\文件夹是空的。
这里发生了什么?
有什么方法可以让我指定所述 Windows 10 服务器的两个 ECDSA 公钥中的哪一个将被所述 Linux 客户端“使用”?
(更新:请忽略以下问题,因为如下面的评论中的讨论所示,所述原生 OpenSSH 方案未加载在所述 Windows 10 服务器上)具体来说,我该怎么做才能“强制”使用 Windows 10 原生的 OpenSSH 方案(而不是当前正在使用的 Cygwin 方案)?
仅供参考,这些问题最初出现是因为这个帖子我之前做过(特别是查看我的回答)。
最后更新:
事实证明,Windows 10 服务器没有Windows 原生 OpenSSH 服务加载。我决定保持该服务器的当前状态,现有的 OpenSSH 服务CYGWIN sshd。我实际上大约每两周才通过 SSH 进入该服务器一次,而且只持续齐奏同步。虽然如果使用上述原生 Windows OpenSSH 服务,更新会更容易处理,但我刚刚订阅了 cywgin 电子邮件更新服务,并且每当我看到此类更新版本可用时,我都会在上述 Windows 机器上更新 OpenSSH...