org.apache.sshd.common.Factory Java Examples
The following examples show how to use
org.apache.sshd.common.Factory.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: NettySshTtyBootstrap.java From termd with Apache License 2.0 | 6 votes |
public void start(final 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 Factory<Command>() { @Override public Command create() { return new TtyCommand(charset, factory); } }); try { server.start(); } catch (Exception e) { doneHandler.accept(e); return; } doneHandler.accept(null); }
Example #2
Source File: WindowAdjustTest.java From termd with Apache License 2.0 | 6 votes |
@Before public void setUp() throws Exception { sshServer = setupTestServer(); final byte[] msg = Files.readAllBytes( Paths.get(getClass().getResource("/big-msg.txt").toURI())); sshServer.setShellFactory(new Factory<Command>() { @Override public Command create() { return new FloodingAsyncCommand(msg, BIG_MSG_SEND_COUNT, END_FILE); } }); sshServer.setKeyPairProvider(new SimpleGeneratorHostKeyProvider()); sshServer.start(); port = sshServer.getPort(); }
Example #3
Source File: SshTtyTestBase.java From termd with Apache License 2.0 | 6 votes |
@Override protected void server(final Consumer<TtyConnection> onConnect) { if (sshd != null) { throw failure("Already a server"); } try { sshd = createServer(); sshd.setPort(5000); sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider(new File("hostkey.ser").toPath())); sshd.setPasswordAuthenticator(new PasswordAuthenticator() { @Override public boolean authenticate(String username, String password, ServerSession session) throws PasswordChangeRequiredException { return true; } }); sshd.setShellFactory(new Factory<Command>() { @Override public Command create() { return createConnection(onConnect); } }); sshd.start(); } catch (Exception e) { throw failure(e); } }
Example #4
Source File: WindowAdjustTest.java From termd with Apache License 2.0 | 6 votes |
@Before public void setUp() throws Exception { sshServer = setupTestServer(); final byte[] msg = Files.readAllBytes( Paths.get(getClass().getResource("/big-msg.txt").toURI())); sshServer.setShellFactory(new Factory<Command>() { @Override public Command create() { return new FloodingAsyncCommand(msg, BIG_MSG_SEND_COUNT, END_FILE); } }); sshServer.setKeyPairProvider(new SimpleGeneratorHostKeyProvider()); sshServer.start(); port = sshServer.getPort(); }
Example #5
Source File: SshdProxySettings.java From artifactory_ssh_proxy with Apache License 2.0 | 5 votes |
@Override public Factory<Command> getShellFactory() { EnumSet<TtyOptions> ttyOptions; if (OsUtils.isUNIX()) { /** * org.apache.sshd.server.shell.ProcessShellFactory does this: ttyOptions = EnumSet.of(TtyOptions.ONlCr); * * However, it doesn't seem to work for me. So in our copy of * org.apache.sshd.server.shell.TtyFilterOutputStream.TtyFilterOutputStream(EnumSet<TtyOptions>, * OutputStream, TtyFilterInputStream), we have a special hack that if TtyOptions.INlCr and TtyOptions.ICrNl * are both set, send cr nl instead. no idea if the windows even works. */ // ttyOptions = EnumSet.of(TtyOptions.ONlCr); ttyOptions = EnumSet.of(TtyOptions.OCrNl, TtyOptions.INlCr, TtyOptions.ICrNl); } else { ttyOptions = EnumSet.of(TtyOptions.Echo, TtyOptions.OCrNl, TtyOptions.INlCr, TtyOptions.ICrNl); } switch (shellMode) { case FORWARDING_ECHO_SHELL: return new ForwardingShellFactory(ttyOptions); case GROOVY_SHELL: return new GroovyShellFactory(ttyOptions); case MESSAGE: default: // TODO when separating out settings, we'll provide a different success // message, or a file path for it. return new MessageShellFactory(SshProxyMessage.MESSAGE_STRING); } }
Example #6
Source File: Utils.java From termd with Apache License 2.0 | 4 votes |
public static Random getRandomizerInstance() { Factory<Random> factory = SecurityUtils.getRandomFactory(); return factory.create(); }
Example #7
Source File: Utils.java From termd with Apache License 2.0 | 4 votes |
public static Random getRandomizerInstance() { Factory<Random> factory = SecurityUtils.getRandomFactory(); return factory.create(); }
Example #8
Source File: SshdProxySettings.java From artifactory_ssh_proxy with Apache License 2.0 | 4 votes |
/** * create a list of factories from a list of cipher names */ @SuppressWarnings("unchecked") public static List<NamedFactory<Cipher>> createCipherFactoryList(List<String> cipherNames) { final NamedFactory<Cipher>[] cipherArray = new NamedFactory[] { // // new AES128CTR.Factory(), // new AES256CTR.Factory(), // new ARCFOUR128.Factory(), // new ARCFOUR256.Factory(), // new AES128CBC.Factory(), // new TripleDESCBC.Factory(), // new BlowfishCBC.Factory(), // new AES192CBC.Factory(), // new AES256CBC.Factory(), // }; // first get all of the ciphers we know about in a set final Map<String, NamedFactory<Cipher>> nameMap = new HashMap<>(); final boolean useDefaults; if (cipherNames.size() <= 0) { useDefaults = true; cipherNames = new ArrayList<>(cipherArray.length); } else { useDefaults = false; } for (NamedFactory<Cipher> cipherFactory : cipherArray) { nameMap.put(cipherFactory.getName(), cipherFactory); if (useDefaults) { cipherNames.add(cipherFactory.getName()); } } final List<NamedFactory<Cipher>> available = new ArrayList<>(cipherArray.length); for (String cipherName : cipherNames) { final NamedFactory<Cipher> factory = nameMap.get(cipherName); if (null == factory) { continue; } try { final Cipher c = factory.create(); final byte[] key = new byte[c.getBlockSize()]; final byte[] iv = new byte[c.getIVSize()]; c.init(Cipher.Mode.Encrypt, key, iv); available.add(factory); } catch (Exception e) { LOGGER.info("Failed to load cipher " + cipherName + " ensure you have the unlimited strength JCE installed"); } } return available; }
Example #9
Source File: SshdSettingsInterface.java From artifactory_ssh_proxy with Apache License 2.0 | 2 votes |
/** * Default shell just returns a message. * * @return an implementation of the Factory that implements a shell */ Factory<Command> getShellFactory();