使用 WinSCP 自动进行 SFTP 传输 - 将凭据存储在 Windows 环境变量中有多安全?

使用 WinSCP 自动进行 SFTP 传输 - 将凭据存储在 Windows 环境变量中有多安全?

我必须实现一个需要用户名和密码的自动 SFTP 文件传输。

我不想将密码留在文本文件/批处理脚本中让别人偶然发现,因此出于安全原因,我选择将用户名和密码存储在特定用户的环境变量中。

当自动化 WinSCP 脚本运行时,它会按规定工作。

现在,任何具有适当管理权限的用户都可以编辑注册表并在其中找到凭据。虽然比标准批处理文件更安全,但我对此仍然不太满意。

我想知道是否有比这更安全的方法来存储敏感变量,以及其他人是否想到了更好的方法?

答案1

正如所提到的WinSCP 关于凭证安全性的文章(尽管上下文略有不同):

无法以安全的方式加密密码并保证其可自动使用。


但是,您可以更好地隐藏/混淆它们,而不是将它们以纯文本形式存储在 Windows 注册表中。

例如,您可以使用包装器 PowerShell 脚本中的“安全字符串”(请参阅ConvertTo-SecureString)。或者直接使用 PowerShell 并使用 WinSCP .NET 程序集完成整个传输。

请参阅另一篇 WinSCP 文章保护用于自动化的凭据

相关内容