是否有可用于实现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)
就这样.
请注意,SFTP 不是基于 SSL 的 FTP,也不是基于 SSH 的 FTP。SFTP 服务器支持需要在 Java 中实现 SSHD。你最好的选择是 Apache SSHD,
http://mina.apache.org/sshd-project/
我从未使用过 SFTP,但我听说它很基本但很实用。
| 归档时间: |
|
| 查看次数: |
43668 次 |
| 最近记录: |