2

我正在使用源端的“Core FTP mini-sftp-server”和目标端的 WinSCP(两台服务器都运行 Windows)将文件从一台服务器传输到另一台服务器。

我正在使用两台服务器上相同的本地管理员帐户登录这两台机器。我一直在手动执行此过程:

  • 在源上启动 MSFTP 服务器
  • 在目标上启动 WinSCP,连接到源并获取文件。

现在我想自动化它,我尝试了以下

msftp从源代码的命令行开始。

winscp.exe控制台的目的地:

open login:password@IPAdress
get <file> <destination>
close
exit

这样做的问题是,如果我每天第一次这样做,它会要求我更新目标端的密钥,说:

“警告潜在的安全漏洞!服务器的主机密钥与 WinSCP 拥有的缓存不匹配。这意味着服务器管理员已向主机密钥收费,服务器在某些情况下提供不同的密钥,或者您实际上已连接到另一台计算机冒充服务员”

我必须首先手动执行(单击更新),然后对于以下副本,自动化工作。

问题:

如何在连接到服务器时使用 cmd 行更新密钥?

我可以阻止源每天生成新密钥吗?还是我应该这样做?

4

2 回答 2

2

您应该阻止源服务器生成新密钥 - 绝对没有理由这样做。服务器的公钥标识服务器,因此不应更改此身份。

于 2009-09-25T23:19:41.633 回答
0

通过连接到每天更改公钥的 SSH 服务器,您将失去任何安全性。

无论如何,如果这是您唯一的选择,最近的 WinSCP 允许使用命令-hostkey=*开关open自动接受任何主机密钥:

open -hostkey=*

你这样做会失去任何安全性,但你已经是了,所以这没有什么区别。

于 2014-06-13T07:30:31.697 回答