WinSCP命令行:在缓存错误中找不到Hostkey

时间:2014-08-31 12:10:48

标签: ssh scripting public-key winscp

我是第一次尝试从WinSCP命令行连接到Unix服务器。

以下列错误结束:

  

在缓存中找不到服务器的主机密钥。你无法保证    服务器是你认为的计算机。

     

服务器的rsa2密钥指纹是:   ssh-rsa 1024 42:9e:c7:f4:7f:8b:50:10:6a:06:04:b1:d4:f2:04:6d   如果您信任此主机,按是。无需将主机密钥添加到cac即可进行连接   他,按否。要放弃连接按取消

在WinSCP命令行中,它不会要求任何输入(是或否)。它以身份验证失败结束。如果我通过WinSCP工具连接,我将得到相同的错误。但是,我可以按YES。

我也知道如果我在命令行中添加-hostkey开关,我将能够连接。但是,我不希望在我的批处理脚本中传递hostkey,因为我将连接到各种服务器。因此,我的要求是在发生此错误时从命令行传递“YES”。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

主机密钥指纹验证是保护SSH连接的关键步骤。即使您在脚本中使用了一组会话,也不能原谅您。指纹应该是您为每个会话提供的一组信息的一部分(除了主机名,用户名和密码)。

跳过指纹验证意味着您失去了任何安全性,使用SSH / SFTP就没有意义了。

无论如何,如果您不关心安全性,可以使用-hostkey=* switch无条件接受任何主机密钥。

进一步参考: