com.sshtools.j2ssh.transport.IgnoreHostKeyVerification Java Examples

The following examples show how to use com.sshtools.j2ssh.transport.IgnoreHostKeyVerification. 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: SshUtil.java    From qaf with MIT License 6 votes vote down vote up
/**
 * connect to host
 * 
 * @return
 * @throws Exception
 */
private static SshClient connectSsh() throws Exception {
	SshClient ssh = new SshClient();

	HostKeyVerification host = new IgnoreHostKeyVerification();
	String hostStr = getBundle().getString("ssh.host");
	ssh.connect(hostStr, host);
	PasswordAuthenticationClient auth = new PasswordAuthenticationClient();
	auth.setUsername(getBundle().getString("ssh.user"));
	auth.setPassword(getBundle().getString("ssh.pwd"));
	int result = ssh.authenticate(auth);

	System.out.println("Status " + result);
	if ((result == AuthenticationProtocolState.CANCELLED) || (result == AuthenticationProtocolState.FAILED)) {
		throw new Exception("Authentication Error.");
	}
	return ssh;
}
 
Example #2
Source File: SshDatabaseWrapper.java    From ApprovalTests.Java with Apache License 2.0 6 votes vote down vote up
public synchronized Connection makeConnection(String database, DatabaseConfiguration originalConfiguration)
{
  int port = counter++;
  DatabaseConfiguration config = new DatabaseConfiguration(originalConfiguration.getDataSourceName(), originalConfiguration.getDriver(), originalConfiguration.getProtocol(), "localhost", "" + port, database, originalConfiguration.getUserName(), originalConfiguration.getPassword(), originalConfiguration.getType());
  try
  {
      LogFactory.getFactory().setAttribute("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");
      SshClient ssh = new SshClient();
      ssh.setSocketTimeout(60000);
      ssh.connect(originalConfiguration.getServer(), new IgnoreHostKeyVerification());
      PasswordAuthenticationClient pwd = new PasswordAuthenticationClient();
      pwd.setUsername(originalConfiguration.getUserName());
      pwd.setPassword(originalConfiguration.getPassword());
      ssh.authenticate(pwd);
      ForwardingClient client = ssh.getForwardingClient();
      client.addLocalForwarding(config.getProtocol(), "0.0.0.0", config.getPort(), "localhost", originalConfiguration.getPort());
      client.startLocalForwarding(config.getProtocol());
      return new SshConnection(ssh, config.makeConnection());
  }
  catch (IOException ie)
  {
    throw ObjectUtils.throwAsError(ie);
  }
}
 
Example #3
Source File: SSHUtils.java    From stevia with BSD 3-Clause "New" or "Revised" License 5 votes vote down vote up
/**
 * Connect. This action simulates all the actions required for a SSH connection
 *
 * @param host  the hostname of the host you want to connect to
 * @param port the port of the host you want to connect to
 * @param username the username required for authentication
 * @param password the password required for authentication
 * @return the ssh client you connected to
 * @throws IOException Signals that an I/O exception has occurred.
 */
public static SshClient connect(String host, int port,String username,String password) throws IOException {
	SSH_LOG.info("Connecting to " + host);
	SshClient ssh = new SshClient();
	ssh.connect(host, port, new IgnoreHostKeyVerification());
	PasswordAuthenticationClient passwordAuthenticationClient = new PasswordAuthenticationClient();
	passwordAuthenticationClient.setUsername(username);
	passwordAuthenticationClient.setPassword(password);
	int result = ssh.authenticate(passwordAuthenticationClient);
	if (result != AuthenticationProtocolState.COMPLETE) {
		throw new IOException("Login to " + host + ":" + port + " "+ username + "/" + password + " failed");
	}
	SSH_LOG.info("Connected " + host);
	return ssh;
}
 
Example #4
Source File: NetUtils.java    From ApprovalTests.Java with Apache License 2.0 5 votes vote down vote up
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 #5
Source File: FtpSession.java    From iaf with Apache License 2.0 4 votes vote down vote up
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() {
					@Override
					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);
	}
}