Java Examples for com.sshtools.j2ssh.SshClient
The following java examples will help you to understand the usage of com.sshtools.j2ssh.SshClient. These source code samples are taken from different open source projects.
Example 1
Project: ApprovalTests.Java-master File: NetUtils.java View source code |
/************************************************************************/
private static SftpClient sshLogin(FTPConfig config, SshClient ssh) throws IOException {
ssh.setSocketTimeout(60000);
ssh.connect(config.host, new IgnoreHostKeyVerification());
PasswordAuthenticationClient pwd = new PasswordAuthenticationClient();
pwd.setUsername(config.userName);
pwd.setPassword(config.password);
ssh.authenticate(pwd);
SftpClient sftp = ssh.openSftpClient();
return sftp;
}
Example 2
Project: RIT-CustomFunctions-master File: SSHConnection.java View source code |
/** * @see com.ghc.ghTester.function#evaluate(java.lang.Object) */ public Object evaluate(Object data) { String hostname = m_fHost.evaluateAsString(data); String username = m_fUsername.evaluateAsString(data); String password = m_fPassword.evaluateAsString(data); String command = m_fCommand.evaluateAsString(data); String stdoutTag = ""; String stderrTag = ""; try { stdoutTag = m_fStdOut.evaluateAsString(data); stderrTag = m_fStdErr.evaluateAsString(data); } catch (Exception e) { e.printStackTrace(); } System.out.println("Tags:" + stdoutTag + ":" + stderrTag); // System.out.println("stdoutTag:"+stdoutTag); // System.out.println("stderrTag:"+stderrTag); String stdout = ""; String stderr = ""; if (command.charAt(0) == '"') { command = command.substring(1, command.length() - 1); } try { if (EvalUtils.isString(stderrTag)) stderrTag = EvalUtils.getString(stderrTag); if (EvalUtils.isString(stdoutTag)) stdoutTag = EvalUtils.getString(stdoutTag); ConfigurationLoader.initialize(false); // Make a client connection SshClient ssh = new SshClient(); ssh.setSocketTimeout(TIMEOUT); SshConnectionProperties properties = new SshConnectionProperties(); properties.setHost(hostname); properties.setPrefPublicKey("ssh-dss"); // Connect to the host ssh.connect(properties, new IgnoreHostKeyVerification()); // Create a password authentication instance PasswordAuthenticationClient pwd = new PasswordAuthenticationClient(); pwd.setUsername(username); pwd.setPassword(password); // Try the authentication int result = ssh.authenticate(pwd); // Evaluate the result if (result == AuthenticationProtocolState.COMPLETE) { // The connection is authenticated we can now do some real work! SessionChannelClient session = ssh.openSessionChannel(); if (!session.requestPseudoTerminal("vt100", 80, 24, 0, 0, "")) System.out.println("Failed to allocate a pseudo terminal"); // if (session.startShell()) { BufferedReader is = new BufferedReader(new InputStreamReader(session.getInputStream())); BufferedReader es = new BufferedReader(new InputStreamReader(session.getStderrInputStream())); OutputStream os = session.getOutputStream(); session.executeCommand(command); String line = null; boolean readAll = false; while (!readAll) { line = null; line = is.readLine(); if (line == null) { readAll = true; break; } stdout = stdout.concat(line) + "\n"; } if (!((TagStorer) data).setTagValue(stdoutTag, stdout)) { // writeToConsole(data, 1, "Unable to set tag stdout"); } line = null; readAll = false; while (!readAll) { line = null; line = es.readLine(); if (line == null) { readAll = true; break; } stderr = stderr.concat(line) + "\n"; } if (EvalUtils.isString(stderrTag)) stderrTag = EvalUtils.getString(stderrTag); if (!((TagStorer) data).setTagValue(stderrTag, stderr)) { // writeToConsole(data, 1, "Unable to set tag stderr"); } is.close(); os.close(); session.close(); // } else { // System.out.println("Failed to start the users shell"); // } ssh.disconnect(); ssh = null; } else { stdout = "Connection to host: " + hostname + " failed \nPlease check the hostname, userid & password are correct."; stderr = "Connection to host: " + hostname + " failed \nPlease check the hostname, userid & password are correct."; if (!((TagStorer) data).setTagValue(stdoutTag, stdout)) { // writeToConsole(data, 1, "Unable to set tag stdout"); } if (!((TagStorer) data).setTagValue(stderrTag, stderr)) { // writeToConsole(data, 1, "Unable to set tag stderr"); } } } catch (Exception e) { e.printStackTrace(); } return stdout; }
Example 3
Project: DavidResearch-master File: SshCommand.java View source code |
public boolean connect() throws IOException {
_sshClient = new SshClient();
ConfigurationLoader.initialize(false);
_sshClient.setSocketTimeout(_socketTimeOut);
SshConnectionProperties properties = new SshConnectionProperties();
properties.setHost(_hostIp);
properties.setPort(22);
// properties.setPrefPublicKey("ssh-dss");
_sshClient.connect(properties, new AlwaysAllowingConsoleKnownHostsKeyVerification());
PasswordAuthenticationClient pwd = new PasswordAuthenticationClient();
pwd.setUsername(_id);
pwd.setPassword(_password);
int result = _sshClient.authenticate(pwd);
if (result == AuthenticationProtocolState.COMPLETE) {
_session = _sshClient.openSessionChannel();
_session.requestPseudoTerminal("gogrid", 200, 100, 0, 0, "");
return true;
} else {
return false;
}
}
Example 4
Project: remitt-master File: SftpEligibility.java View source code |
protected void transmit(String userName, String payload) throws Exception { SshClient ssh = new SshClient(); String tempPathName = getOutputFileName(payload.getBytes()); String host = getSftpHost(userName); Integer port = getSftpPort(userName); String sftpUser = getSftpUser(userName); String sftpPassword = getSftpPassword(userName); String sftpPath = getSftpPath(userName); // Perform initial connection ssh.connect(host, port, new IgnoreHostKeyVerification()); // Authenticate PasswordAuthenticationClient passwordAuthenticationClient = new PasswordAuthenticationClient(); passwordAuthenticationClient.setUsername(sftpUser); passwordAuthenticationClient.setPassword(sftpPassword); int result = ssh.authenticate(passwordAuthenticationClient); if (result != AuthenticationProtocolState.COMPLETE) { throw new Exception("Login to " + host + ":" + port + " " + sftpUser + "/" + sftpPassword + " failed"); } // Open the SFTP channel SftpClient client = ssh.openSftpClient(); if (sftpPath != null && sftpPath != "") { client.cd(sftpPath); } // Convert string to input stream for transfer ByteArrayInputStream bs = new ByteArrayInputStream(payload.getBytes()); // Send the file client.put(bs, tempPathName); // Disconnect client.quit(); ssh.disconnect(); }
Example 5
Project: iaf-master File: FtpSession.java View source code |
private void openSftpClient(String remoteDirectory) throws FtpConnectException {
try {
// Set the connection properties and if necessary the proxy properties
SshConnectionProperties sshProp = new SshConnectionProperties();
sshProp.setHost(host);
sshProp.setPort(port);
if (StringUtils.isNotEmpty(prefCSEncryption))
sshProp.setPrefCSEncryption(prefCSEncryption);
if (StringUtils.isNotEmpty(prefSCEncryption))
sshProp.setPrefCSEncryption(prefSCEncryption);
if (!StringUtils.isEmpty(proxyHost)) {
sshProp.setTransportProvider(proxyTransportType);
sshProp.setProxyHost(proxyHost);
sshProp.setProxyPort(proxyPort);
CredentialFactory pcf = new CredentialFactory(getProxyAuthAlias(), proxyUsername, proxyPassword);
if (!StringUtils.isEmpty(pcf.getUsername())) {
sshProp.setProxyUsername(pcf.getUsername());
sshProp.setProxyPassword(pcf.getPassword());
}
}
// make a secure connection with the remote host
sshClient = new SshClient();
if (StringUtils.isNotEmpty(knownHostsPath)) {
AbstractKnownHostsKeyVerification hv = null;
if (consoleKnownHostsVerifier) {
hv = new ConsoleKnownHostsKeyVerification(knownHostsPath);
} else {
hv = new SftpHostVerification(knownHostsPath);
}
sshClient.connect(sshProp, hv);
} else {
sshClient.connect(sshProp, new IgnoreHostKeyVerification());
}
SshAuthenticationClient sac;
if (!isKeyboardInteractive()) {
// pass the authentication information
sac = getSshAuthentication();
} else {
// TODO: detecteren dat sshClient.getAvailableAuthMethods("ftpmsg")
// wel keyboard-interactive terug geeft, maar geen password en dan deze methode
// gebruiken
final CredentialFactory credentialFactory = new CredentialFactory(getAuthAlias(), getUsername(), getPassword());
KBIAuthenticationClient kbiAuthenticationClient = new KBIAuthenticationClient();
kbiAuthenticationClient.setUsername(credentialFactory.getUsername());
kbiAuthenticationClient.setKBIRequestHandler(new KBIRequestHandler() {
public void showPrompts(String name, String instruction, KBIPrompt[] prompts) {
//deze 3 regels in x.zip naar Zenz gemaild, hielp ook niet
if (prompts == null) {
return;
}
for (int i = 0; i < prompts.length; i++) {
prompts[i].setResponse(credentialFactory.getPassword());
}
}
});
sac = kbiAuthenticationClient;
}
int result = sshClient.authenticate(sac);
if (result != AuthenticationProtocolState.COMPLETE) {
closeSftpClient();
throw new IOException("Could not authenticate to sftp server " + result);
}
// use the connection for sftp
sftpClient = sshClient.openSftpClient();
if (!StringUtils.isEmpty(remoteDirectory)) {
sftpClient.cd(remoteDirectory);
}
} catch (Exception e) {
closeSftpClient();
throw new FtpConnectException(e);
}
}