我想在 Unix 和 Windows 机器之间自动进行 SFTP 传输。我在同一台机器上使用 Bitvise Tunnelier 和 WinSSHD。我使用“Easy WinSSHD 设置”来设置配置。我使用虚拟帐户设置来访问服务器。
首先,我想在尝试公钥认证之前使用用户名/密码执行 SFTP。当我尝试将 Windows 计算机连接到 Unix(使用 Putty)时,我无法连接到该计算机。
是否有好的资源可以解释如何在 Unix 和 Windows 之间设置 SFTP 传输?
答案1
对于 Windows 到 *nix,很难超越 WinSCP/PuTTY 组合,这使得这变得轻而易举。WinSCP 可以编写脚本实现自动化。有很多关于设置无密码身份验证的文章。这只是随机挑选的一个。
答案2
如果我们排除很少的细节,Unix 和 Windows 之间的 SFTP 与任何系统和任何系统之间的 SFTP 完全相同。SFTP 实际上就是 SSH 文件传输协议,它绝对是 SSH 协议的一个子系统。
考虑到上述情况,PKI 身份验证在任何具有 SSH 服务器的系统上的工作方式相同,并且取决于服务器的配置方式。是的,这完全取决于配置。我建议您进行以下检查:
- 确保服务器端启用了 PKI 身份验证,并且服务器可以在正确的位置/位置/目录中访问用户的公钥
- 确保客户端上的密钥对以客户端可以理解的格式保存(例如,PuTTY 可以完美处理 .PPK 文件,但需要转换为 RSA 文件)
无论如何,我的观点是:这不是 Windows/Unix 问题,而是您的客户端和服务器的配置问题。