我在Excel上编写了VBA代码。我正在尝试使用SFTP和文件pscp.exe将文本文件传输到我的服务器。该文件将不会被传输,并且将显示pscp.exe的窗口。
我将看到以下消息:
服务器的主机密钥未缓存在注册表中。您无法保证服务器是您认为的计算机。服务器的rsa2密钥指纹是:ssh-rsa XXXX XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX如果您信任该主机,请输入“ y“将密钥添加到PuTTY的缓存中并继续连接。如果要仅进行一次连接,而不将密钥添加到缓存中,请输入“n”。如果您不信任此主机,请按Return键放弃连接。将密钥存储在缓存中? (Y / N)
我怎么能解决我的问题?
Dim Polku As String
Polku = "/"
Dim Palvelin As String
Palvelin = "grid1.example.xxx"
Dim Kayttajatunnus As String
Kayttajatunnus = "user@example.xxx"
Dim Salasana As String
Salasana = "Password2012"
Dim Tiedosto As String
Tiedosto = "filename.txt"
Dim PolkuOhjelma As String
Dim PolkuTiedosto As String
If Right$(ActiveWorkbook.Path, 1) <> "\" Then
PolkuOhjelma = ActiveWorkbook.Path & "\pscp.exe"
PolkuTiedosto = ActiveWorkbook.Path & "\" & Tiedosto
Else
PolkuOhjelma = ActiveWorkbook.Path & "pscp.exe"
PolkuTiedosto = ActiveWorkbook.Path & Tiedosto
End If
Dim Siirtokomento As String
Siirtokomento = Chr$(34) & PolkuOhjelma & Chr$(34) & " -sftp -l " & Kayttajatunnus & _
" -pw " & Salasana & " " & Chr$(34) & PolkuTiedosto & Chr$(34) & " " & _
Palvelin & ":" & Polku
Debug.Print Siirtokomento
Shell Siirtokomento, vbNormalFocus
答案 0 :(得分:0)
您应该使用-hostkey
switch明确指定可信主机密钥的指纹。
-hostkey XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX