我正在使用源端的“Core FTP mini-sftp-server”和目标端的WinSCP(两台服务器都运行Windows)将文件从一台服务器传输到另一台服务器。
我使用本地管理员帐户登录这两台计算机,这两台服务器上都是相同的。 我一直在手动完成这个过程:
现在我想自动化它,我尝试了以下
从源代码的命令行启动msftp
。
在winscp.exe
控制台中的目的地:
open login:password@IPAdress
get <file> <destination>
close
exit
问题是如果我每天第一次这样做,它会要求我更新目的地的密钥说:
“警告可能的安全隐患!服务器的主机密钥没有 匹配一个WinSCP就是缓存。这意味着要么是服务器 管理员已经收取主机密钥,服务器呈现不同 在某些情况下密钥,或者您实际上已连接到 另一台假装是服务器的计算机“
我必须首先手动执行此操作(单击更新),然后对于以下副本,自动化工作正常。
问题:
如何在连接服务器时使用cmd行更新密钥?
我可以阻止源每天生成新密钥吗?或者我应该这样做?
答案 0 :(得分:2)
您应该阻止源服务器生成新密钥 - 绝对没有理由这样做。服务器的公钥标识服务器,因此不应更改此标识。
答案 1 :(得分:0)
通过连接到每天更改公钥的SSH服务器,您将失去任何安全性。
无论如何,如果这是您唯一的选择,最近的WinSCP允许使用-hostkey=*
switch of the open
command自动接受任何主机密钥:
open -hostkey=*
你这样做会失去任何安全感,但你已经失去了安全感,所以没有任何区别。