WinSCP命令行 - 添加已知主机

问题描述:

我有windows批处理脚本,它连接到服务器以获取事务文件。WinSCP命令行 - 添加已知主机

该程序使用Winscp命令行脚本来打开sftp连接并获取所需的文件。

最近提供商要求更新已知主机并在MD5,SHA 256,Bubble Babble选项中提供指纹。我想继续在被动模式下执行程序,而无需任何人工干预提示。

由于我在这方面的知识有限,我知道使用-hostkey添加一个附加参数可以解决问题。但我不是否需要添加任何额外的参数来指定它是MD5还是SHA等。任何帮助表示赞赏。

当前代码:

open sftp://%USERNAME%@%HOSTNAME% 

规划更新到

open sftp://%USERNAME%@%HOSTNAME% -hostkey="<key>" 

你不指定指纹算法。无论如何,WinSCP仅支持主机密钥的MD5指纹。

-hostkey switch的支持两种格式:

keytype bits fi:ng:er:pr:in:t 

keytype-fi-ng-er-pr-in-t 

例如:

ssh-dss 2048 0b:77:8b:68:f4:45:b1:3c:87:ad:5c:be:3b:c5:72:78 

ssh-dss-0b-77-8b-68-f4-45-b1-3c-87-ad-5c-be-3b-c5-72-78 
+0

谢谢马丁,我会执行这个并让你知道。 –

+0

此外,如果我在WinSCP GUI模式下接受主机密钥/指纹,当我使用命令行连接到同一台服务器上的同一台服务器时,是否还需要传递主机密钥? –

+0

如果您在GUI和脚本之间共享一个配置,如果您已经接受了GUI中的主机密钥,则不必使用'-hostkey'开关(并且**确实验证它匹配来自提供程序的指纹** ) - 但不推荐:https://winscp.net/eng/docs/scripting#configuration –