WinSCP .NET库:连接SFTP服务器而不指定SSH主机密钥指纹

4
在当前稳定版的WinSCP中,似乎使用SshHostKeyFingerprint是强制性的,没有其他方法可以在SessionOptions中连接到SFTP服务器。我可以看到在beta(5.2)中添加了绕过的功能,但我想知道是否有可能在没有这个指纹的情况下连接。
1个回答

13

首先,请确保您理解当您绕过 SSH 主机密钥检查时,您放弃了 任何安全性。这实际上失去了一种保护措施,防止中间人攻击

无论如何,您可以将SessionOptions.SshHostKeyPolicy设置为SshHostKeyPolicy.GiveUpSecurityAndAcceptAny

尽管不建议这样做。 您应始终设置SessionOptions.SshHostKeyFingerprint
学习如何确定SSH主机密钥指纹。或者至少使用SshHostKeyPolicy.AcceptNew

另请参见使用WinSCP抑制SFTP或SCP中的主机密钥使用


那么,当您连接到第三方服务器时,管理员因安全问题拒绝向您提供ssh主机密钥指纹时,推荐的方法是什么? - user446923
6
请告知管理员,他是一个笨蛋。根据定义,主机公钥的指纹是公开信息,没有任何安全问题。无论如何,您都可以获得指纹(因为它是公开的)。您可能没有严格安全地获取指纹的方法。例如,您可以在WinSCP GUI中的服务器和协议信息对话框中查看它。有关详细信息,请参见“我从哪里获取用于脚本或.NET程序集的SSH主机密钥指纹?”(http://winscp.net/eng/docs/faq_script_hostkey)。 - Martin Prikryl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接