【问题标题】:Trying to do FTP tunnel over SSH尝试通过 SSH 建立 FTP 隧道
【发布时间】:2011-09-22 21:22:34
【问题描述】:

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

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

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

谢谢

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回复。我研究了 Apache Commons,你可能是对的,它可以做我想做的事情。但是,它似乎只支持您提到的 FTP 和 FTPS。 FTP 是完全未加密的,而 FTPS 具有加密的身份验证和数据传输。我需要的是一种中间解决方案,其中身份验证被加密,但之后该会话的实际数据传输都是未加密的。我想知道 Apache Commons 本身是否提供了这种能力,或者我是否需要做一些额外的事情来实现它。
    猜你喜欢
    • 2016-03-27
    • 2015-05-05
    • 2020-08-25
    • 2023-04-02
    • 2011-12-06
    • 2018-05-02
    • 2020-09-17
    • 2011-03-31
    • 1970-01-01
    相关资源
    最近更新 更多