当前位置: 首页>>代码示例>>Java>>正文


Java SftpSubsystemFactory类代码示例

本文整理汇总了Java中org.apache.sshd.server.subsystem.sftp.SftpSubsystemFactory的典型用法代码示例。如果您正苦于以下问题:Java SftpSubsystemFactory类的具体用法?Java SftpSubsystemFactory怎么用?Java SftpSubsystemFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


SftpSubsystemFactory类属于org.apache.sshd.server.subsystem.sftp包,在下文中一共展示了SftpSubsystemFactory类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: startServer

import org.apache.sshd.server.subsystem.sftp.SftpSubsystemFactory; //导入依赖的package包/类
public void startServer() throws IOException {
    SshServer sshd = SshServer.setUpDefaultServer();
    port = getPort();
    sshd.setPort(port);
    sshd.setPublickeyAuthenticator(AcceptAllPublickeyAuthenticator.INSTANCE);
    SimpleGeneratorHostKeyProvider provider = new SimpleGeneratorHostKeyProvider();
    sshd.setKeyPairProvider(provider);
    SftpSubsystemFactory.Builder builder = new SftpSubsystemFactory.Builder();

    SftpSubsystemFactory sftpFactory = builder.build();
    sshd.setSubsystemFactories(new ArrayList<NamedFactory<Command>>() {
        {
            add(sftpFactory);
        }
    });
    sshd.setHost(LOCALHOST);
    String msg = String.format("Local SSH Server started on [%s] and listening on port [%d]", sshd.getHost(), sshd
        .getPort());
    LOGGER.info(msg);
    ScpCommandFactory factory = new ScpCommandFactory();
    factory.setDelegateCommandFactory(new FakeCommandFactory());
    sshd.setCommandFactory(factory);
    Runtime.getRuntime().addShutdownHook(new Thread(new Close(sshd)));
    sshd.start();
}
 
开发者ID:RationaleEmotions,项目名称:SimpleSSH,代码行数:26,代码来源:LocalServer.java

示例2: before

import org.apache.sshd.server.subsystem.sftp.SftpSubsystemFactory; //导入依赖的package包/类
@Override
protected void before() throws Throwable {
  sshd = SshServer.setUpDefaultServer();
  sshd.setPort(findRandomOpenPortOnAllLocalInterfaces());
  sshd.setKeyPairProvider(
      new ClassLoadableResourceKeyPairProvider(getClass().getClassLoader(), "server_key"));
  sshd.setCommandFactory(new ScpCommandFactory());
  sshd.setSubsystemFactories(Collections.singletonList(new SftpSubsystemFactory()));
  sshd.setUserAuthFactories(Collections.singletonList(new UserAuthPublicKeyFactory()));
  sshd.setHost("localhost");
  sshd.setPublickeyAuthenticator(AcceptAllPublickeyAuthenticator.INSTANCE);
  sshd.setHostBasedAuthenticator(new StaticHostBasedAuthenticator(true));

  VirtualFileSystemFactory fileSystemFactory = new VirtualFileSystemFactory();
  fileSystemFactory.setDefaultHomeDir(currentFolder.get().toPath());

  sshd.setFileSystemFactory(fileSystemFactory);
  sshd.start();
}
 
开发者ID:mlk,项目名称:AssortmentOfJUnitRules,代码行数:20,代码来源:SftpRule.java

示例3: startServer

import org.apache.sshd.server.subsystem.sftp.SftpSubsystemFactory; //导入依赖的package包/类
private SshServer startServer(
    FileSystem fileSystem
) throws IOException {
    SshServer server = SshServer.setUpDefaultServer();
    server.setPort(port);
    server.setKeyPairProvider(new SimpleGeneratorHostKeyProvider());
    server.setPasswordAuthenticator(new StaticPasswordAuthenticator(true));
    server.setSubsystemFactories(singletonList(new SftpSubsystemFactory()));
    /* When a channel is closed SshServer calls close() on the file system.
     * In order to use the file system for multiple channels/sessions we
     * have to use a file system wrapper whose close() does nothing.
     */
    server.setFileSystemFactory(session -> new DoNotClose(fileSystem));
    server.start();
    this.server = server;
    return server;
}
 
开发者ID:stefanbirkner,项目名称:fake-sftp-server-rule,代码行数:18,代码来源:FakeSftpServerRule.java

示例4: create

import org.apache.sshd.server.subsystem.sftp.SftpSubsystemFactory; //导入依赖的package包/类
public static SshServer create() {

        SshServer sshd = SshServer.setUpDefaultServer();
        sshd.setPort(SpashConfig.getInstance().spashListenPort());

        AbstractGeneratorHostKeyProvider keyProvider = new SimpleGeneratorHostKeyProvider(new File(SpashConfig.getInstance().spashKeyFileName()));
        keyProvider.setAlgorithm(SpashConfig.getInstance().spashKeyAlgorithm());
        keyProvider.setKeySize(SpashConfig.getInstance().spashKeyLength());

        sshd.setKeyPairProvider(keyProvider);

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

        sshd.setPasswordAuthenticator(new PasswordAuthenticator() {
            @Override
            public boolean authenticate(String username, String password, ServerSession serverSession) throws PasswordChangeRequiredException {
                return username!=null && username.length()>0 && username.equals(password);
            }
        });

        sshd.setShellFactory(new SpashShellFactory());

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

        sshd.setCommandFactory(new ScpCommandFactory());

        sshd.setFileSystemFactory(new FileSystemFactory() {
            @Override
            public FileSystem createFileSystem(Session session) throws IOException {
                return SpashFileSystem.get().getFileSystem();
            }
        });

        return sshd;
    }
 
开发者ID:nerdammer,项目名称:spash,代码行数:40,代码来源:SshServerFactory.java

示例5: setupSftp

import org.apache.sshd.server.subsystem.sftp.SftpSubsystemFactory; //导入依赖的package包/类
public void setupSftp() {
    this.sshServer.setCommandFactory(new ScpCommandFactory());
    this.sshServer.setSubsystemFactories(Arrays.asList(new SftpSubsystemFactory()));
}
 
开发者ID:wildfly-extras,项目名称:wildfly-camel,代码行数:5,代码来源:EmbeddedSSHServer.java


注:本文中的org.apache.sshd.server.subsystem.sftp.SftpSubsystemFactory类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。