java - Apache Mina SSHD 1.0.0 设置用户目录和映射

标签 java sftp apache-mina sshd mina

尝试使用 Java 中嵌入的 Apache Mina SSHD 为用户设置主目录。

这两种解决方案在 1.0 中均已弃用 -
How to Set Root Directory in Apache Mina Sshd Server in Java
How to override getVirtualUserDir() in Apache Mina sshd-core version 0.14.0

在 0.14.0 中,以下工作正常:

sshd.setFileSystemFactory(new NativeFileSystemFactory() {
   @Override
   public FileSystemView createFileSystem(final Session session) {
      HashMap<String,String> map = new HashMap<String,String>();
      map.put("/", "/Users/someone/Documents");
      return new NativeFileSystemView(session.getUsername(), map, "/");
   };
});

据我所知:

sshd.setFileSystemFactory(new NativeFileSystemFactory() {
    @Override
    public FileSystem createFileSystem(Session session) {
        // What should I do here?
        return super.createFileSystem(session);
    }
});

最佳答案

找到了。
我必须使用VirtualFileSystemFactory

这是结果:

VirtualFileSystemFactory fsFactory = new VirtualFileSystemFactory();
fsFactory.setUserHomeDir(userName, realDirectory);
sshd.setFileSystemFactory(fsFactory);

注意: 如果您使用的是 OS Xlinux,请不要忘记先chmod您的路径。

关于java - Apache Mina SSHD 1.0.0 设置用户目录和映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33204547/

相关文章:

java - 为什么我的 SimpleDateFormat 无法正确转换?

bash - 如何使用 bash 脚本运行 sftp 子命令?

perl - Perl SFTP真的真的很慢

java - 将所有常量放在一个类android中

java - javafx 和 jfreechart 哪个更适合制作图表

java - Glassfish Web服务高并发

java - 使用 JSch 将文件内容下载到字符串

java - 我的 MINA 消息有什么问题?遍历 NioSocketConnector 并失败,导致 MINA 停止

Java Apache Mina FTP 服务器导入库

java - Apache 米娜 : how to get the IP from a connected client