如何在Java中的Apache Mina Sshd Server中设置根目录
2022-09-04 02:26:24
我使用Apache Mina Sshd API在java中启动本地SFTP服务器。在SFTP客户端中,我使用Jcraft jsch API来创建我的SFTP客户端。我已成功启动服务器。问题是我想写一些单元测试用例来检查客户端是否可以将一些文件放入服务器的根目录中。目前,我的 SFTP 服务器没有任何根目录。所以我想知道,是否有任何方法来设置服务器的根目录。
例如:C:\sftp 如何将此路径设置为我的服务器根 directory.so 然后客户端可以在每次与服务器连接时读取和写入文件。谢谢。
public class SftpServerStarter {
private SshServer sshd;
private final static Logger logger =
LoggerFactory.getLogger(SftpServerStarter.class);
public void start(){
sshd = SshServer.setUpDefaultServer();
sshd.setPort(22);
sshd.setHost("localhost");
sshd.setPasswordAuthenticator(new MyPasswordAuthenticator());
sshd.setPublickeyAuthenticator(new MyPublickeyAuthenticator());
sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider());
sshd.setSubsystemFactories(
Arrays.<NamedFactory<Command>>asList(new SftpSubsystem.Factory()));
sshd.setCommandFactory(new ScpCommandFactory());
try {
logger.info("Starting ...");
sshd.start();
logger.info("Started");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
logger.info("Can not Start Server");
}
}
}