2017-08-04 186 views
2

我有windows批處理腳本,它連接到服務器以獲取事務文件。WinSCP命令行 - 添加已知主機

該程序使用Winscp命令行腳本來打開sftp連接並獲取所需的文件。

最近提供商要求更新已知主機並在MD5,SHA 256,Bubble Babble選項中提供指紋。我想繼續在被動模式下執行程序,而無需任何人工干預提示。

由於我在這方面的知識有限,我知道使用-hostkey添加一個附加參數可以解決問題。但我不是否需要添加任何額外的參數來指定它是MD5還是SHA等。任何幫助表示讚賞。

當前代碼:

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

規劃更新到

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

回答

3

你不指定指紋算法。無論如何,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 –