如何在 SSIS 中使用 OpenSSH 通过 SFTP 传输文件?
Posted
技术标签:
【中文标题】如何在 SSIS 中使用 OpenSSH 通过 SFTP 传输文件?【英文标题】:How to transfer file with SFTP using OpenSSH in SSIS? 【发布时间】:2021-06-07 17:40:10 【问题描述】:在我的项目中,我必须使用 OpenSSH sftp
工具来使用 SFTP 传输文件,并且它应该从 SSIS 执行。从上个月开始,我进行了很多搜索,但找不到任何解决方案。我确实使用 WinSCP 从 SSIS 传输文件,但客户端现在切换到 OpenSSH。
有人知道如何使用 OpenSSH 传输文件吗?如果有人有任何解决方案,这将是一个很大的帮助。
我正在传输单个文件,我想要上传和下载。我们正在使用私钥进行身份验证。
在 WinSCP 中,我正在执行一个 .bat
文件,该文件将调用一个 .txt
文件,并且 .txt
具有 SFTP put
和 get
命令。
【问题讨论】:
【参考方案1】:所以我假设你有一个像这样运行 WinSCP 的批处理文件:
c:\path\to\winscp.com /script=c:\path\to\script.txt
还有一个 WinSCP 脚本 script.txt
使用私钥对 SFTP 服务器进行身份验证并上传和下载文件:
open -privatekey=c:\path\to\key.ppk sftp://username@example.com/
get /remote/path/file.txt c:\local\path\file.txt
put c:\other\local\path\file2.txt /other/remote/path/file2.txt
exit
这将转换为OpenSSH sftp
,如下所示:
sftp.exe -b c:\path\to\script.txt -i c:\path\to\key.pem username@example.com
还有一个用于传输文件的sftp
脚本script.txt
:
get /remote/path/file.txt c:\local\path\file.txt
put c:\other\local\path\file2.txt /other/remote/path/file2.txt
您必须使用PuTTYgen 将您的 WinSCP .ppk 私钥转换为 PEM 格式才能与 OpenSSH 一起使用。
converting OpenSSH script to WinSCP 有一个指南。虽然这与您想要的完全相反,但通过一些努力,您仍然可以从中挖掘出一些想法。
【讨论】:
感谢您的回答。我需要提供 sftp.exe 的完整路径吗?喜欢 D:\openSSH\SFTP.exe Windows 10 内置的 Win32-OpenSSH,您不必这样做,因为它的文件夹位于 WindowsPATH
。以上是关于如何在 SSIS 中使用 OpenSSH 通过 SFTP 传输文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过在SSIS中调用函数或存储过程来使用拆分转换过滤和拆分数据?
如何使用 C# 找出安装在 SQL Server 中的 SSIS?
如何在 SQL Standard 上导出 SSIS 数据并在 SQL Express 上使用 Bulk Insert 导入?
通过 SSIS 处理 SFTP 或 FTPS 文件的最佳方法 [关闭]