try(SshClient client = SshClient.setUpDefaultClient()) { KnownHostsServerKeyVerifier verifier = new DefaultKnownHostsServerKeyVerifier(new ServerKeyVerifier() { @Override public boolean verifyServerKey(ClientSession clientSession, SocketAddress remoteAddress, PublicKey serverKey) { client.setServerKeyVerifier(verifier); client.start(); ConnectFuture cf = client.connect(user, sshHost, sshPort); cf.await(); try (ClientSession session = cf.getSession()) { for (KeyPair pair : provider.getKeys()) { CLI.LOGGER.log(FINE, "Offering {0} private key", pair.getPrivate().getAlgorithm()); session.addPublicKeyIdentity(pair); session.auth().verify(10000L); try (ClientChannel channel = session.createExecChannel(command.toString())) { channel.setIn(new NoCloseInputStream(System.in)); channel.setOut(new NoCloseOutputStream(System.out)); channel.setErr(new NoCloseOutputStream(System.err)); WaitableFuture wf = channel.open(); wf.await(); Set<ClientChannelEvent> waitMask = channel.waitFor(Collections.singletonList(ClientChannelEvent.CLOSED), 0L); Integer exitStatus = channel.getExitStatus(); return exitStatus;
@Override public void closeConnection() { if (sftp != null) { client.stop(); sftp = null; } } }
public static SshClient setupTestClient(Class<?> anchor) { SshClient client = SshClient.setUpDefaultClient(); client.setServerKeyVerifier(AcceptAllServerKeyVerifier.INSTANCE); client.setHostConfigEntryResolver(HostConfigEntryResolver.EMPTY); client.setKeyPairProvider(KeyPairProvider.EMPTY_KEYPAIR_PROVIDER); return client; }
public ClientBuilder hostConfigEntryResolver(HostConfigEntryResolver resolver) { this.hostConfigEntryResolver = resolver; return me(); }
public static ClientBuilder builder() { return new ClientBuilder(); } }
@Override public boolean isOpen() { return client.isOpen(); }
@Override public void doScpAction(ScpClient scpClient) throws IOException { scpClient.download(remote, local, ScpClient.Option.Recursive); } });
@Override public void doScpAction(ScpClient scpClient) throws IOException { scpClient.upload(local, remote, ScpClient.Option.Recursive); } });
public static SshClient setupTestClient(Class<?> anchor) { SshClient client = SshClient.setUpDefaultClient(); client.setServerKeyVerifier(AcceptAllServerKeyVerifier.INSTANCE); client.setHostConfigEntryResolver(HostConfigEntryResolver.EMPTY); client.setKeyPairProvider(KeyPairProvider.EMPTY_KEYPAIR_PROVIDER); return client; }
public ClientBuilder filePasswordProvider(FilePasswordProvider provider) { this.filePasswordProvider = provider; return me(); }
public static ClientBuilder builder() { return new ClientBuilder(); } }
@Override public boolean isOpen() { return client.isOpen(); }
public static SshClient setupTestClient(Class<?> anchor) { SshClient client = SshClient.setUpDefaultClient(); client.setServerKeyVerifier(AcceptAllServerKeyVerifier.INSTANCE); client.setHostConfigEntryResolver(HostConfigEntryResolver.EMPTY); client.setKeyPairProvider(KeyPairProvider.EMPTY_KEYPAIR_PROVIDER); return client; }
public ClientBuilder clientIdentityLoader(ClientIdentityLoader loader) { this.clientIdentityLoader = loader; return me(); }
public ClientBuilder serverKeyVerifier(ServerKeyVerifier serverKeyVerifier) { this.serverKeyVerifier = serverKeyVerifier; return me(); }
public ClientBuilder hostConfigEntryResolver(HostConfigEntryResolver resolver) { this.hostConfigEntryResolver = resolver; return me(); }
public ClientBuilder clientIdentityLoader(ClientIdentityLoader loader) { this.clientIdentityLoader = loader; return me(); }
public ClientBuilder filePasswordProvider(FilePasswordProvider provider) { this.filePasswordProvider = provider; return me(); }