Java SFTP服务器库?

CB.*_*CB. 41 java sftp

是否有可用于实现SFTP服务器的Java库?

我试图通过SFTP接收文件,但我似乎无法找到任何SFTP服务器的实现.我找到了FTP/SFTP/FTPS 客户端库和FTP/FTPS服务器库,但没有找到SFTP的服务器.

为了澄清,我正在尝试通过SFTP 接收文件.不是从我的应用程序"获取"或"放置"文件到另一个现有服务器.

现在我的应用程序允许用户连接到本地linux SFTP服务器,删除文件,然后我的应用程序轮询目录,但我觉得这是一个糟糕的实现; 我讨厌"轮询"目录的想法,但不幸的是他们必须使用SFTP.有什么建议?

Gij*_*iet 49

如何使用Apache Mina SSHD设置SFTP服务器:

public void setupSftpServer(){
    SshServer sshd = SshServer.setUpDefaultServer();
    sshd.setPort(22);
    sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider("hostkey.ser"));

    List<NamedFactory<UserAuth>> userAuthFactories = new ArrayList<NamedFactory<UserAuth>>();
    userAuthFactories.add(new UserAuthNone.Factory());
    sshd.setUserAuthFactories(userAuthFactories);

    sshd.setCommandFactory(new ScpCommandFactory());

    List<NamedFactory<Command>> namedFactoryList = new ArrayList<NamedFactory<Command>>();
    namedFactoryList.add(new SftpSubsystem.Factory());
    sshd.setSubsystemFactories(namedFactoryList);

    try {
        sshd.start();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

就这样.


ZZ *_*der 6

请注意,SFTP 不是基于 SSL 的 FTP,也不是基于 SSH 的 FTP。SFTP 服务器支持需要在 Java 中实现 SSHD。你最好的选择是 Apache SSHD,

http://mina.apache.org/sshd-project/

我从未使用过 SFTP,但我听说它很基本但很实用。