使用pscp.exe时跳过主机检查



我们有一个Windows服务在默认的Windows本地系统帐户下运行。此服务尝试使用pscp.exe将文件传输到服务器。这正是我们发出的命令:

pscp.exe -batch -r -q -v -l **** -pw **** C:/temp/test my-server-host-name:/bnrr2p3

请注意使用--batch选项以避免出现任何提示。现在这失败了,因为服务器名称没有添加到已知主机列表中,并出现以下错误:

Looking up host "my-server-host-name"
Connecting to 10.89.3.108 port 22
Server version: SSH-2.0-Sun_SSH_1.1.4
Using SSH protocol version 2
We claim version: SSH-2.0-PuTTY_Release_0.62
Doing Diffie-Hellman group exchange
Doing Diffie-Hellman key exchange with hash SHA-1
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 1024 10:a8:36:6a:be:99:2c:e0:1c:18:80:28:c8:e5:dd:9b
Connection abandoned.
Disconnected: User aborted at host key verification
Lost connection

谷歌说我需要先手动登录该服务器,然后将该服务器添加到列表中。如果我以特定用户的身份运行此程序,我可以执行此操作。

如何使其适用于Windows本地系统帐户?

在命令提示符中使用PsExec.exe-i-s cmd。新的命令提示符将以SYSTEM默认帐户打开。手动运行命令并接受主机密钥一次。

试试这个bruv。。。pscp.exe-v-pw'

  • '********'+''C+/temp/test'+'
  • username+'@'+主机名+':'

您需要将-pw放在filespec之前的所有选项之后别忘了空间。

最新更新