org.apache.sshd.SshServer Java Examples
The following examples show how to use
org.apache.sshd.SshServer.
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: AntHarnessTest.java From ExpectIt with Apache License 2.0 | 6 votes |
@BeforeClass public static void startSshServer() throws IOException { sshServer = SshServer.setUpDefaultServer(); ServerSocket serverSocket = new ServerSocket(0); sshPort = serverSocket.getLocalPort(); serverSocket.close(); sshServer.setPort(sshPort); sshServer.setPasswordAuthenticator( new PasswordAuthenticator() { @Override public boolean authenticate( String username, String password, ServerSession session) { return "ssh".equals(username) && "secret".equals(password); } }); sshServer.setShellFactory(new SshEchoCommandFactory()); sshServer.setKeyPairProvider(new SimpleGeneratorHostKeyProvider()); sshServer.start(); }
Example #2
Source File: SftpServer.java From pentaho-kettle with Apache License 2.0 | 6 votes |
private SshServer createSshServer( int port, String homeDir, String hostKeyPath ) { SshServer server = SshServer.setUpDefaultServer(); server.setHost( "localhost" ); server.setPort( port ); server.setFileSystemFactory( new VirtualFileSystemFactory( homeDir ) ); server.setSubsystemFactories( Collections.<NamedFactory<Command>>singletonList( new SftpSubsystem.Factory() ) ); server.setCommandFactory( new ScpCommandFactory() ); server.setKeyPairProvider( new SimpleGeneratorHostKeyProvider( hostKeyPath ) ); server.setPasswordAuthenticator( this ); return server; }
Example #3
Source File: AdminServer.java From gameserver with Apache License 2.0 | 5 votes |
@Override public void startServer(String bindAddr, int port) { try { sshd = SshServer.setUpDefaultServer(); sshd.setHost(bindAddr); sshd.setPort(port); SimpleGeneratorHostKeyProvider provider = new SimpleGeneratorHostKeyProvider("hostkey.ser", "RSA", 4096); sshd.setKeyPairProvider(provider); EnumSet<ProcessShellFactory.TtyOptions> options = EnumSet.allOf(ProcessShellFactory.TtyOptions.class); options.remove(ProcessShellFactory.TtyOptions.Echo); sshd.setShellFactory(new ProcessShellFactory(new String[] { "/bin/bash", "-i" }, options)); sshd.setCommandFactory(commandFactory); sshd.setPasswordAuthenticator(new PasswordAuthenticator() { public boolean authenticate(String username, String password, ServerSession session) { return username != null && password.equals("VpWk5ujKA1c"); } }); sshd.start(); logger.info("AdminServer bind at " + bindAddr + ":" + port); } catch (Exception e) { logger.warn("Failed to start AdminServer", e); } }
Example #4
Source File: SshdServerMock.java From gerrit-events with MIT License | 5 votes |
/** * Starts a ssh server on the provided port. * * @param port the port to listen to. * @param server the server mock to start * * @return the server. * @throws IOException if so. */ public static SshServer startServer(int port, SshdServerMock server) throws IOException { SshServer sshd = SshServer.setUpDefaultServer(); sshd.setPort(port); sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider("hostkey.ser")); sshd.setPublickeyAuthenticator(new PublickeyAuthenticator() { @Override public boolean authenticate(String s, PublicKey publicKey, ServerSession serverSession) { return true; } }); sshd.setCommandFactory(server); sshd.start(); return sshd; }
Example #5
Source File: StreamWatchdogTest.java From gerrit-events with MIT License | 5 votes |
/** * Tests that the {@link StreamWatchdog} actually performs a restart of the connection. * * @throws IOException if so. * @throws InterruptedException if so. * @throws NoSuchMethodException if so. * @throws JSchException if so. */ @Test(timeout = 2 * 60 * 60 * 1000) public void testFullTimeoutFlow() throws IOException, InterruptedException, NoSuchMethodException, JSchException { System.out.println("====This will be a long running test ca. 2 minutes====="); SshdServerMock.KeyPairFiles sshKey = SshdServerMock.generateKeyPair(); SshdServerMock server = new SshdServerMock(); SshServer sshd = SshdServerMock.startServer(sshPort, server); server.returnCommandFor("gerrit version", SshdServerMock.EofCommandMock.class); server.returnCommandFor("gerrit ls-projects", SshdServerMock.EofCommandMock.class); server.returnCommandFor(GERRIT_STREAM_EVENTS, WaitLongTimeCommand.class, true, new Object[]{MINUTES.toMillis(5)}, new Class<?>[]{Long.class}); server.returnCommandFor(GERRIT_STREAM_EVENTS, SshdServerMock.CommandMock.class); GerritConnection connection = new GerritConnection("", "localhost", sshPort, "", "", new Authentication(sshKey.getPrivateKey(), "jenkins"), 20, new WatchTimeExceptionData(new int[0], Collections.<WatchTimeExceptionData.TimeSpan>emptyList())); Listen connectionListener = new Listen(); connection.addListener(connectionListener); GerritHandler handler = new GerritHandler(); connection.setHandler(handler); Thread connectionThread = new Thread(connection); connectionThread.start(); server.waitForCommand(GERRIT_STREAM_EVENTS, 8000); Thread.sleep(2000); assertTrue(connectionListener.isConnectionEstablished()); //wait for the connection to go down. connectionListener.waitForConnectionDown(); server.waitForCommand(GERRIT_STREAM_EVENTS, 8000); Thread.sleep(1000); assertTrue(connectionListener.isConnectionEstablished()); assertEquals(1, connection.getReconnectCallCount()); System.out.println("====Shutting down GerritConnection====="); connection.shutdown(true); System.out.println("====Shutting down GerritHandler====="); handler.shutdown(true); System.out.println("====Shutting down SSHD====="); sshd.stop(true); System.out.println("====Done====="); }
Example #6
Source File: SshdServerMock.java From gerrit-events with MIT License | 2 votes |
/** * Starts a ssh server on the standard Gerrit port. * * @param server the server mock to start * * @return the server. * @throws IOException if so. * @see #GERRIT_SSH_PORT */ public static SshServer startServer(SshdServerMock server) throws IOException { return startServer(GERRIT_SSH_PORT, server); }