"Host key wasn't verified" 尽管已将 -hostkey 开关添加到 WinSCP 命令行
"Host key wasn't verified" despite having added -hostkey switch to WinSCP command-line
我正在尝试使用带有以下命令行参数的 SSIS 执行进程任务建立 SFTP 连接。
/log=G:\USER_DATA\USER_USER_SYNC\SFTP_LOG\user_sync_winscp.log /command "open sftp://username:password@stransfer.host.com/" "get /DATA/UserRoleUpdate.csv G:\USER_DATA\USER_USER_SYNC\Download\" "exit"
给定的执行进程任务使用 WinSCP exe 将文件下载到本地驱动器。包在调试模式下 运行ning 成功,当我在我的 SQL 服务器上通过 SSISDB 文件夹手动 运行ning 时也是如此。
我们在尝试使用作业代理执行 SSIS 包时遇到问题。
如果我禁用了建立 SFTP 连接的特定任务,那么也可以通过作业代理成功打包 运行。似乎只有该特定任务有问题。
我很难理解为什么会发生这种情况,以及需要采取什么措施来解决这个问题。
当我检查 user_sync_winscp.log
文件时,我发现了这个。
. 2019-08-20 08:10:23.931 Host key fingerprint is:
. 2019-08-20 08:10:23.931 ssh-rsa 2048 9b:63:5e:c4:26:bb:35:0d:49:e6:74:5e:5a:48:c0:8a bLgYggTcP4U6A/IFkFoyfY8BhlCB/+i5fFhzq1z1MjQ=
. 2019-08-20 08:10:23.931 Asking user:
. 2019-08-20 08:10:23.931 **Continue connecting to an unknown server and add its host key to a cache?** . 2019-08-20 08:10:23.931 . 2019-08-20 08:10:23.931 The server's host key was not found in the cache. You have no guarantee that the server is the computer you think it is.
. 2019-08-20 08:10:23.931
. 2019-08-20 08:10:23.931 The server's RSA key details are:
. 2019-08-20 08:10:23.931
. 2019-08-20 08:10:23.931 Algorithm: ssh-rsa 2048
. 2019-08-20 08:10:23.931 SHA-256: bLgYggTcP4U6A/IFkFoyfY8BhlCB/+i5fFhzq1z1MjQ=
. 2019-08-20 08:10:23.931 MD5: 9b:63:5e:c4:26:bb:35:0d:49:e6:74:5e:5a:48:c0:8a
. 2019-08-20 08:10:23.931
. 2019-08-20 08:10:23.931 If you trust this host, press Yes. To connect without adding host key to the cache, press No. To abandon the connection press Cancel.
. 2019-08-20 08:10:23.931 In scripting, you should use a -hostkey switch to configure the expected host key. () . 2019-08-20 08:10:33.933 Attempt to close connection due to fatal exception:
* 2019-08-20 08:10:33.933 Host key fingerprint is ssh-rsa 2048 bLgYggTcP4U6A/IFkFoyfY8BhlCB/+i5fFhzq1z1MjQ=.
* 2019-08-20 08:10:33.933 (Exception) **Host key wasn't verified!** . 2019-08-20 08:10:33.933 Closing connection.
. 2019-08-20 08:10:33.933 Sending special code: 12
然后我从日志文件中复制主机密钥并通过添加开关 -hostkey="..."
更改我的命令行参数,如下所示。
/log=G:\USER_DATA\USER_USER_SYNC\SFTP_LOG\user_sync_winscp.log /command "open sftp://username:password@stransfer.host.com/" -hostkey="ssh-rsa 2048 9b:63:5e:c4:26:bb:35:0d:49:e6:74:5e:5a:48:c0:8a" "get /DATA/UserRoleUpdate.csv G:\USER_DATA\USER_USER_SYNC\Download\" "exit"
现在本地任务失败了。
如果我需要添加更多关于此的详细信息,请告诉我。谢谢
正确的语法是:
... /command "open sftp://username:password@stransfer.host.com/ -hostkey=""ssh-rsa 2048 9b:63:5e:c4:26:bb:35:0d:49:e6:74:5e:5a:48:c0:8a""" "get ..." ...
参见 WinSCP command-line syntax and open
command syntax。
WinSCP GUI 可以generate a correct script/command-line for you, including the -hostkey
switch。
我正在尝试使用带有以下命令行参数的 SSIS 执行进程任务建立 SFTP 连接。
/log=G:\USER_DATA\USER_USER_SYNC\SFTP_LOG\user_sync_winscp.log /command "open sftp://username:password@stransfer.host.com/" "get /DATA/UserRoleUpdate.csv G:\USER_DATA\USER_USER_SYNC\Download\" "exit"
给定的执行进程任务使用 WinSCP exe 将文件下载到本地驱动器。包在调试模式下 运行ning 成功,当我在我的 SQL 服务器上通过 SSISDB 文件夹手动 运行ning 时也是如此。
我们在尝试使用作业代理执行 SSIS 包时遇到问题。 如果我禁用了建立 SFTP 连接的特定任务,那么也可以通过作业代理成功打包 运行。似乎只有该特定任务有问题。 我很难理解为什么会发生这种情况,以及需要采取什么措施来解决这个问题。
当我检查 user_sync_winscp.log
文件时,我发现了这个。
. 2019-08-20 08:10:23.931 Host key fingerprint is:
. 2019-08-20 08:10:23.931 ssh-rsa 2048 9b:63:5e:c4:26:bb:35:0d:49:e6:74:5e:5a:48:c0:8a bLgYggTcP4U6A/IFkFoyfY8BhlCB/+i5fFhzq1z1MjQ=
. 2019-08-20 08:10:23.931 Asking user:
. 2019-08-20 08:10:23.931 **Continue connecting to an unknown server and add its host key to a cache?** . 2019-08-20 08:10:23.931 . 2019-08-20 08:10:23.931 The server's host key was not found in the cache. You have no guarantee that the server is the computer you think it is.
. 2019-08-20 08:10:23.931
. 2019-08-20 08:10:23.931 The server's RSA key details are:
. 2019-08-20 08:10:23.931
. 2019-08-20 08:10:23.931 Algorithm: ssh-rsa 2048
. 2019-08-20 08:10:23.931 SHA-256: bLgYggTcP4U6A/IFkFoyfY8BhlCB/+i5fFhzq1z1MjQ=
. 2019-08-20 08:10:23.931 MD5: 9b:63:5e:c4:26:bb:35:0d:49:e6:74:5e:5a:48:c0:8a
. 2019-08-20 08:10:23.931
. 2019-08-20 08:10:23.931 If you trust this host, press Yes. To connect without adding host key to the cache, press No. To abandon the connection press Cancel.
. 2019-08-20 08:10:23.931 In scripting, you should use a -hostkey switch to configure the expected host key. () . 2019-08-20 08:10:33.933 Attempt to close connection due to fatal exception:
* 2019-08-20 08:10:33.933 Host key fingerprint is ssh-rsa 2048 bLgYggTcP4U6A/IFkFoyfY8BhlCB/+i5fFhzq1z1MjQ=.
* 2019-08-20 08:10:33.933 (Exception) **Host key wasn't verified!** . 2019-08-20 08:10:33.933 Closing connection.
. 2019-08-20 08:10:33.933 Sending special code: 12
然后我从日志文件中复制主机密钥并通过添加开关 -hostkey="..."
更改我的命令行参数,如下所示。
/log=G:\USER_DATA\USER_USER_SYNC\SFTP_LOG\user_sync_winscp.log /command "open sftp://username:password@stransfer.host.com/" -hostkey="ssh-rsa 2048 9b:63:5e:c4:26:bb:35:0d:49:e6:74:5e:5a:48:c0:8a" "get /DATA/UserRoleUpdate.csv G:\USER_DATA\USER_USER_SYNC\Download\" "exit"
现在本地任务失败了。
如果我需要添加更多关于此的详细信息,请告诉我。谢谢
正确的语法是:
... /command "open sftp://username:password@stransfer.host.com/ -hostkey=""ssh-rsa 2048 9b:63:5e:c4:26:bb:35:0d:49:e6:74:5e:5a:48:c0:8a""" "get ..." ...
参见 WinSCP command-line syntax and open
command syntax。
WinSCP GUI 可以generate a correct script/command-line for you, including the -hostkey
switch。