SFTP和“FTP over SSH”是两个不同的东西,都不涉及SSL(正如其他人所建议的那样)。SFTP是SSH的一个子协议,而“FTP over SSH”则是经过SSH连接进行端口转发的好/坏老式FTP。
无论哪种方式,您需要的是Delphi SSH库。我找不到免费的Delphi SSH库,最终购买了SecureBlackbox(http://www.eldos.com/),它非常出色,虽然SecureBridge(http://www.devart.com)看起来也很不错。
1) SFTP不是FTP-over-SSH。请在此处阅读讨论。
2) 对于SFTP,没有免费的Delphi组件。您可以使用我们的Delphi SFTP客户端和服务器组件(SecureBlackbox产品的一部分),这是受支持和维护的商业解决方案。
IP*Works包括SFTP组件 - http://www.nsoftware.com/products/component/sftp.aspx,注册Delphi XE和XE2的用户可以从代码中心下载(ID:28437,ID:28012)。
Synapse的贡献目录中有一个简单SFTP演示 - http://synapse.ararat.cz/files/contrib/
IP*Works
不包括 IP*Works SSH
,因此这里找不到 SFTP 支持。 - brandeded看看 Synapse (http://synapse.ararat.cz/doku.php/download) 支持 SSL 协议。 示例代码:http://synapse.ararat.cz/doku.php/public:howto:tcpwithssl
另一个安全连接组件集来自nSoftware:http://www.nsoftware.com/ipworks/ssh/components.aspx
您可以获得SSH隧道和SFTP。
他们还提供了完整的SSL相关项目组件集:http://www.nsoftware.com/ipworks/ssl/components.aspx
libssh2(用C编写)支持SFTP,我们有两个独立的Delphi包装器(不确定哪一个更好):
https://github.com/pult/libssh2_delphi and https://github.com/dimmaq/delphi-libssh2
DevArt的SecureBridge也支持SFTP,并且专业版附带完整源代码。