Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssh WinSCP命令行:在缓存中找不到主机密钥错误_Ssh_Scripting_Public Key_Winscp - Fatal编程技术网

Ssh WinSCP命令行:在缓存中找不到主机密钥错误

Ssh WinSCP命令行:在缓存中找不到主机密钥错误,ssh,scripting,public-key,winscp,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 如果您信任此主机,按Yes。在不向cac添加主机密钥的情况下进行连接 他,按No.放弃连接按Cancel 在WinSCP命令行中,它不要求任何输入(是或否)。它在身份验证失败时关闭。如果我通过WinS

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

它关闭时出现以下错误:

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

服务器的rsa2密钥指纹是: ssh rsa 1024 42:9e:c7:f4:7f:8b:50:10:6a:06:04:b1:d4:f2:04:6d 如果您信任此主机,按Yes。在不向cac添加主机密钥的情况下进行连接 他,按No.放弃连接按Cancel

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


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

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

跳过指纹验证意味着您将失去任何安全性,不再使用SSH/SFTP

无论如何,如果不关心安全性,可以使用无条件接受任何主机密钥

其他参考资料:


嗨@Martin,这对我没用。调用C:\Progra~2\WinSCP\WinSCP.exe/console-timeout=“120”/command“option batch continue”“option confirm off”“open sftp://%userin%:%pasw%@host-hostkey=”“”“get/home/*”您的命令与标记语法冲突,因此我无法准确地看到它。但我假设原始版本是
“open sftp://%userin%:%pasw%@host-hostkey=“*”
。这是错误的,请使用
“open sftp://%userin%:%pasw%@host-hostkey=”“*”
或避免在
*
“open sftp://%userin%:%pasw%@host-hostkey=*”周围加引号。
指定为命令行参数的
-timeout=“120”
不适用于使用脚本命令打开的会话。您必须将其与
open
命令结合使用:
“open sftp://%userin%:%pasw%@host-hostkey=*-timeout=120”