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


Java SshServer.setUpDefaultServer方法代码示例

本文整理汇总了Java中org.apache.sshd.server.SshServer.setUpDefaultServer方法的典型用法代码示例。如果您正苦于以下问题:Java SshServer.setUpDefaultServer方法的具体用法?Java SshServer.setUpDefaultServer怎么用?Java SshServer.setUpDefaultServer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.sshd.server.SshServer的用法示例。


在下文中一共展示了SshServer.setUpDefaultServer方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: startServer

import org.apache.sshd.server.SshServer; //导入方法依赖的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: sshServer

import org.apache.sshd.server.SshServer; //导入方法依赖的package包/类
@Bean
SshServer sshServer() {
    SshdShellProperties.Shell props = properties.getShell();
    if (Objects.isNull(props.getPassword())) {
        props.setPassword(UUID.randomUUID().toString());
        log.info("********** User password not set. Use following password to login: {} **********",
                props.getPassword());
    }
    SshServer server = SshServer.setUpDefaultServer();
    server.setKeyPairProvider(new SimpleGeneratorHostKeyProvider(new File(props.getHostKeyFile())));
    server.setPublickeyAuthenticator(Objects.isNull(props.getPublicKeyFile())
            ? RejectAllPublickeyAuthenticator.INSTANCE
            : new SshdAuthorizedKeysAuthenticator(new File(props.getPublicKeyFile())));
    server.setHost(props.getHost());
    server.setPasswordAuthenticator(passwordAuthenticator());
    server.setPort(props.getPort());
    server.setShellFactory(() -> sshSessionInstance());
    server.setCommandFactory(command -> sshSessionInstance());
    return server;
}
 
开发者ID:anand1st,项目名称:sshd-shell-spring-boot,代码行数:21,代码来源:SshdServerConfiguration.java

示例3: startServer

import org.apache.sshd.server.SshServer; //导入方法依赖的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: setUpSshServer

import org.apache.sshd.server.SshServer; //导入方法依赖的package包/类
private SshServer setUpSshServer(String algorithm) throws IOException {
	SshServer sshServer = SshServer.setUpDefaultServer();
	sshServer.setPort(0);
	AbstractGeneratorHostKeyProvider hostKeyProvider = SecurityUtils.createGeneratorHostKeyProvider(getServerKeyFile(algorithm));
	hostKeyProvider.setAlgorithm(algorithm);
	if (algorithm.equals(KeyUtils.EC_ALGORITHM)) {
		hostKeyProvider.setKeySize(256);
	}
	sshServer.setKeyPairProvider(hostKeyProvider);

	sshServer.setPublickeyAuthenticator(AcceptAllPublickeyAuthenticator.INSTANCE);
	sshServer.setTcpipForwardingFilter(AcceptAllForwardingFilter.INSTANCE);

	writeFingerprintToKnownHosts(algorithm);

	sshServer.start();

	int sshServerPort = sshServer.getPort();
	assertTrue(sshServerPort > 0);

	return sshServer;
}
 
开发者ID:cronn-de,项目名称:ssh-proxy,代码行数:23,代码来源:SshProxyTest.java

示例5: start

import org.apache.sshd.server.SshServer; //导入方法依赖的package包/类
public void start(Consumer<Connection> factory, Consumer<Throwable> doneHandler) {
    server = SshServer.setUpDefaultServer();
    server.setIoServiceFactoryFactory(new NettyIoServiceFactoryFactory(childGroup));
    server.setPort(port);
    server.setHost(host);
    server.setKeyPairProvider(keyPairProvider);
    server.setPasswordAuthenticator(passwordAuthenticator);
    if (publicKeyAuthenticator != null) {
        server.setPublickeyAuthenticator(publicKeyAuthenticator);
    }
    server.setShellFactory(() -> new TtyCommand(charset, factory));
    try {
        server.start();
    } catch (Exception e) {
        doneHandler.accept(e);
        return;
    }
    doneHandler.accept(null);
}
 
开发者ID:aeshell,项目名称:aesh-readline,代码行数:20,代码来源:NettySshTtyBootstrap.java

示例6: before

import org.apache.sshd.server.SshServer; //导入方法依赖的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

示例7: start

import org.apache.sshd.server.SshServer; //导入方法依赖的package包/类
public void start(Consumer<TtyConnection> factory, Consumer<Throwable> doneHandler) {
  server = SshServer.setUpDefaultServer();
  server.setIoServiceFactoryFactory(new NettyIoServiceFactoryFactory(childGroup));
  server.setPort(port);
  server.setHost(host);
  server.setKeyPairProvider(keyPairProvider);
  server.setPasswordAuthenticator(passwordAuthenticator);
  server.setShellFactory(() -> new TtyCommand(charset, factory));
  try {
    server.start();
  } catch (Exception e) {
    doneHandler.accept(e);
    return;
  }
  doneHandler.accept(null);
}
 
开发者ID:termd,项目名称:termd,代码行数:17,代码来源:NettySshTtyBootstrap.java

示例8: start

import org.apache.sshd.server.SshServer; //导入方法依赖的package包/类
public void start(int port) throws IOException {
    if (sshServerMap.get(port) == null) {
        SshServer sshServer = SshServer.setUpDefaultServer();
        AbstractFileKeyPairProvider fileKeyPairProvider = SecurityUtils.createFileKeyPairProvider();
        fileKeyPairProvider.setFiles(Collections.singleton(getHostkey()));
        fileKeyPairProvider.setPasswordFinder(resourceKey -> "cloudbreak");
        sshServer.setKeyPairProvider(fileKeyPairProvider);
        sshServer.setPublickeyAuthenticator((username, key, session) -> true);
        setCommandFactory(sshServer);
        sshServer.setFileSystemFactory(new MockFileSystemFactory());
        sshServer.setPort(port);
        sshServer.start();
        LOGGER.debug(sshServer.getHost());
        sshServerMap.put(port, sshServer);
    }
}
 
开发者ID:hortonworks,项目名称:cloudbreak,代码行数:17,代码来源:MockSshServer.java

示例9: onEnable

import org.apache.sshd.server.SshServer; //导入方法依赖的package包/类
@Override
public void onEnable() {
    instance = this;

    sshd = SshServer.setUpDefaultServer();
    sshd.setPort(getConfig().getInt("port", 22));
    String host = getConfig().getString("listenAddress", "all");
    sshd.setHost(host.equals("all") ? null : host);

    File hostKey = new File(getDataFolder(), "hostkey");
    File authorizedKeys = new File(getDataFolder(), "authorized_keys");

    sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider(hostKey));
    sshd.setShellFactory(new ConsoleShellFactory());
    sshd.setPasswordAuthenticator(new ConfigPasswordAuthenticator());
    sshd.setPublickeyAuthenticator(new PublicKeyAuthenticator(authorizedKeys));
    sshd.setCommandFactory(new ConsoleCommandFactory());
    try {
        sshd.start();
    } catch (IOException e) {
        getLogger().severe("Failed to start SSH server! " + e.getMessage());
    }
}
 
开发者ID:rmichela,项目名称:Bukkit-SSHD,代码行数:24,代码来源:SshdPlugin.java

示例10: create

import org.apache.sshd.server.SshServer; //导入方法依赖的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

示例11: startServer

import org.apache.sshd.server.SshServer; //导入方法依赖的package包/类
public void startServer(Integer timeout) throws Exception {
  if (server != null) {
    throw failure("Server already started");
  }
  server = SshServer.setUpDefaultServer();
  if (timeout != null) {
    server.setProperties(Collections.singletonMap(FactoryManager.AUTH_TIMEOUT, timeout.toString()));
  }
  server.setPort(5000);
  server.setKeyPairProvider(new SimpleGeneratorHostKeyProvider(new File("hostkey.ser").toPath()));
  server.setPasswordAuthenticator((username, password, sess) -> authenticator.authenticate(username, password, sess));
  server.setShellFactory(new EchoShellFactory());
  server.setServiceFactories(Arrays.asList(ServerConnectionServiceFactory.INSTANCE, AsyncUserAuthServiceFactory.INSTANCE));
  server.start();
}
 
开发者ID:aeshell,项目名称:aesh-readline,代码行数:16,代码来源:AsyncAuthTestBase.java

示例12: build

import org.apache.sshd.server.SshServer; //导入方法依赖的package包/类
/**
 * Builds a new instance of SSH server.
 * @return SSH server.
 */
public SshServer build() {
    final SshServer sshd = SshServer.setUpDefaultServer();
    sshd.setPort(this.port);
    sshd.setKeyPairProvider(
        new SimpleGeneratorHostKeyProvider(
            new File(Files.createTempDir(), "hostkey.ser")
        )
    );
    sshd.setUserAuthFactories(this.factories);
    sshd.setPasswordAuthenticator(this.pwd.orNull());
    sshd.setPublickeyAuthenticator(this.pkey.orNull());
    return sshd;
}
 
开发者ID:jcabi,项目名称:jcabi-ssh,代码行数:18,代码来源:MockSshServerBuilder.java

示例13: setupTestServer

import org.apache.sshd.server.SshServer; //导入方法依赖的package包/类
public static SshServer setupTestServer(Class<?> anchor) {
    SshServer sshd = SshServer.setUpDefaultServer();
    sshd.setKeyPairProvider(createTestHostKeyProvider(anchor));
    sshd.setPasswordAuthenticator(BogusPasswordAuthenticator.INSTANCE);
    sshd.setPublickeyAuthenticator(AcceptAllPublickeyAuthenticator.INSTANCE);
    sshd.setShellFactory(EchoShellFactory.INSTANCE);
    sshd.setCommandFactory(UnknownCommandFactory.INSTANCE);
    return sshd;
}
 
开发者ID:termd,项目名称:termd,代码行数:10,代码来源:Utils.java

示例14: startServer

import org.apache.sshd.server.SshServer; //导入方法依赖的package包/类
public void startServer(Integer timeout) throws Exception {
  if (server != null) {
    throw failure("Server already started");
  }
  server = SshServer.setUpDefaultServer();
  if (timeout != null) {
    server.getProperties().put(FactoryManager.AUTH_TIMEOUT, timeout.toString());
  }
  server.setPort(5000);
  server.setKeyPairProvider(new SimpleGeneratorHostKeyProvider(new File("hostkey.ser").toPath()));
  server.setPasswordAuthenticator((username, password, sess) -> authenticator.authenticate(username, password, sess));
  server.setShellFactory(new EchoShellFactory());
  server.setServiceFactories(Arrays.asList(ServerConnectionServiceFactory.INSTANCE, AsyncUserAuthServiceFactory.INSTANCE));
  server.start();
}
 
开发者ID:termd,项目名称:termd,代码行数:16,代码来源:AsyncAuthTestBase.java

示例15: EmbeddedSSHServer

import org.apache.sshd.server.SshServer; //导入方法依赖的package包/类
public EmbeddedSSHServer(Path homeDir, int port) {
    this.sshServer = SshServer.setUpDefaultServer();
    this.sshServer.setPort(port);
    this.sshServer.setCommandFactory(new EchoCommandFactory());
    this.sshServer.setKeyPairProvider(new SimpleGeneratorHostKeyProvider());
    this.sshServer.setPasswordAuthenticator((username, password, serverSession) -> username.equals("admin") && password.equals("admin"));
    this.sshServer.setPublickeyAuthenticator((s, publicKey, serverSession) -> true);
    this.homeDir = homeDir;

    if (EnvironmentUtils.isWindows()) {
        sshServer.setShellFactory(new ProcessShellFactory(new String[] { "cmd.exe " }));
    } else {
        sshServer.setShellFactory(new ProcessShellFactory(new String[] { "/bin/sh", "-i", "-s" }));
    }
}
 
开发者ID:wildfly-extras,项目名称:wildfly-camel,代码行数:16,代码来源:EmbeddedSSHServer.java


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