![OpenSSH 是否会自动加密所有文件传输?](https://linux22.com/image/736214/OpenSSH%20%E6%98%AF%E5%90%A6%E4%BC%9A%E8%87%AA%E5%8A%A8%E5%8A%A0%E5%AF%86%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6%E4%BC%A0%E8%BE%93%EF%BC%9F.png)
请帮助我消除对 Windows 2019 Server OpenSSH SFTP 配置的任何困惑。我在网上看到有很多不同的设置方法,我正在努力弄明白。目前,我已经通过针对 ActiveDirectory 的用户名/密码身份验证使其运行良好。我的目标是让客户端用户从第一次使用 SFTP 开始就尽可能简单地使用 SFTP——同时通过使用加密在文件传输过程中保持高度的数据安全性。
不幸的是,根据我的加密经验,我必须创建客户端证书,客户端计算机必须导入这些证书,才能对它们与我的服务器之间的数据传输进行加密。例如,当我设置 VPN 时就是这种情况。这很复杂。
同样,我认为我必须使用 SSH keygen 命令来创建密钥,然后必须将其安装在我的客户端计算机和服务器上,以便启用 OpenSSH 的 SFTP 来安全地加密文件传输。这使我的客户觉得这个过程有些繁琐。
然而,我现在看到,在首次登录我的 SFTP 服务器时,我收到一个交互式警告,指出,
无法确认主机“blablabla.booboo.beep.haha.com (xxx.xxx.xxx.xxx)”的真实性。ECDSA 密钥指纹为 SHA256:XYZA3yyyyyGGGG/aaaaaYYYYYNosUXXXXGi/NNNNN1iE。您确定要继续连接吗(是/否)?
如果我说“是”,那么我就会得到,
警告:将“blablabla.booboo.beep.haha.com”(ECDSA)永久添加到已知主机列表中。
因此,在我的配置文件的 .ssh 文件夹中,known_hosts 文件会附加一串较长的随机字符串,该字符串链接回我的服务器名称。该字符串与我看到的交互式 SFTP 消息并不完全相同,但肯定存在某种关联。
上述情况是否意味着我的 Windows 2019 OpenSSH 安装中的某些唯一服务器密钥已与我的 Windows 10 客户端自动交换,从而使我今后无需手动在任何一台机器中导入任何密钥即可加密数据传输?那将是一种很棒的开箱即用体验!
如果不是这样,那么有没有办法以最小的努力使加密工作(即,客户端用户除了建立他们的 SFTP 会话之外不需要采取任何其他步骤)并且仍然可以防止在文件传输期间监视数据?
例如,Web 服务器可以安装 SSL/TLS 证书来保护和加密与 Web 访问者的通信,但 Web 访问者通常不必有意识地安装任何客户端证书即可实现该功能。我知道这些证书是由 Web 主机购买的,并且可以由全球任何具有可靠第三方来源的客户端 Web 浏览器自动验证。
SFTP 是否可以实现这种易于使用的场景,或者是否有其他简单的替代方法可以保证我的数据传输安全,而无需使初始客户端用户设置复杂化?