我正在编写一个简单的Delphi应用程序来将一些文件上传到SFTP服务器。我认为我可以使用TIdFTP indy客户端,但它接缝,因为它们不是FTP的选项通过SSH(SFTP)有没有人知道Delphi 2010的任何免费/开源组件,它将支持FTP over SSH(SFTP) )。由于安全原因,我无法使用Active X控件,因此请不要使用Active X解决方案。
谢谢您的帮助,
凯尔
SFTP和“FTP over SSH”是两个独立的事情,既不涉及SSL(正如其他人所建议的那样)。 SFTP是SSH的子协议,而“基于SSH的FTP”是通过具有端口转发的SSH连接进行隧道传输的好/坏。
无论哪种方式,你所追求的是一个Delphi SSH库。我无法为Delphi找到一个免费的SSH库并最终购买了SecureBlackbox(http://www.eldos.com/),顺便说一句,虽然SecureBridge(http://www.devart.com)看起来很好非常好。
1)SFTP不是FTP-over-SSH。 Read the discussion here。
2)对于SFTP,没有免费的Delphi组件。您可以使用我们的SFTP client and server components for Delphi(SecureBlackbox产品的一部分),它是受支持和维护的商业解决方案。
我一直在使用PuTTY的SCP命令行实用程序,通过CreateProcess method捕获它的标准。
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/的贡献演示
看看支持ssl protocole的Synapse(qazxsw poi)。例子:qazxsw poi
另一个安全连接组件集来自nSoftware:http://synapse.ararat.cz/doku.php/download
你得到SSH隧道和SFTP。
他们还提供了一整套SSL相关项目:http://synapse.ararat.cz/doku.php/public:howto:tcpwithssl
libssh2(在C中的wriiten)支持SFTP,我们有两个独立的Delphi包装器(不确定哪一个更好):
http://www.nsoftware.com/ipworks/ssh/components.aspx和http://www.nsoftware.com/ipworks/ssl/components.aspx
DevArt的SecureBridge也支持SFTP,附带专业版的完整源代码。