我在Java中使用Apache Mina Sshd API启动本地SFTP服务器。在SFTP客户端中,我使用Jcraft jsch API创建我的SFTP客户端。成功启动了服务器。问题是我想编写一些单元测试用例来检查客户端是否可以将一些文件放入服务器的根目录中。目前我的SFTP服务器没有任何根目录。因此,我想知道是否有方法可以设置服务器的根目录。
例如:C:\sftp 如何将此路径设置为我的服务器根目录,以便每次连接服务器时客户端都可以读取和写入文件。谢谢。
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");
}
}
}