我是第一次尝试从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”。有人可以帮忙吗?
答案 0 :(得分:1)
主机密钥指纹验证是保护SSH连接的关键步骤。即使您在脚本中使用了一组会话,也不能原谅您。指纹应该是您为每个会话提供的一组信息的一部分(除了主机名,用户名和密码)。
跳过指纹验证意味着您失去了任何安全性,使用SSH / SFTP就没有意义了。
无论如何,如果您不关心安全性,可以使用-hostkey=*
switch无条件接受任何主机密钥。
进一步参考: