尝试通过SSH进行FTP隧道

时间:2011-09-22 21:22:34

标签: java ftp network-programming ftp-client apache-commons-net

我正在为工作编写一个JAVA程序,在某些时候需要将文件从运行它的机器传输到另一台机器。这些要求可以配置为通过FTP,SFTP或认证安全但数据未加密传输的连接进行传输。

对于第三方JAVA库,实现前两个应该不会太糟糕。我遇到的问题是第三种选择。似乎唯一的方法就是通过SSH隧道传输FTP。

由于我在这件事上相当缺乏经验,所以想知道是否有人有任何有用的建议。这可以使用可靠的JAVA库(首选)或其他一些我只是在程序中作为单独进程调用的工具来完成。

感谢

1 个答案:

答案 0 :(得分:1)

您可以使用Apache Commons VFS进行文件上传和下载。有FTPFTPS。唯一的先决条件是您的远程系统必须运行FTP服务器。您不必调用某些外部进程。只需让自己的应用程序完成工作。记得要小心防火墙。

使用FTPS时,只保证控制会话被加密。数据通过常规FTP传输。是否加密取决于您自己。您可以使用PROT和CDC命令来控制加密。