Подключение к Vertica DB через SSH -туннель с файлом PEM с использованием Java AutomationJAVA

Программисты JAVA общаются здесь
Anonymous
Подключение к Vertica DB через SSH -туннель с файлом PEM с использованием Java Automation

Сообщение Anonymous »

Я пытаюсь подключиться к удаленному DB Vertica, используя Java, и подключение к ней включает в себя туннель SSH с добавлением файла PEM в качестве открытого ключа. /> Java.sql.sqlnontransientConnectionException: [vertica] vjdbc не удалось подключиться к хосту 10.13.3.213 на порту 5433. Причина: не удалось установить соединение с первичным сервером или любым резервным адресом из -за ошибки сети < /p>
< /blockquote>
. Portforwarder.openconnection Метод: < /p>
int localBindingPort = PortForwarder.openConnection();
JDBCurl = String.format(JDBCClass + "%s:%s/%s", Host, localBindingPort, Schema);
return DriverManager.getConnection(JDBCurl,
username,password);

public class PortForwarder extends DBConfig {
static String portsString = Port + ":" + Host + ":" + SSHPort; // port:host:hostport

static Session session = null;

public static int openConnection() {

int assigned_port = -1;

JSch jsch = new JSch();

try {

int lport;
String rhost;
int rport;

String[] portParams;

portParams = portsString.split(":");

lport = Integer.parseInt(portParams[0]);
rhost = portParams[1];
rport = Integer.parseInt(portParams[2]);

jsch.addIdentity(pemFile);

session = jsch.getSession(SSHUsername, SSHHost, 22);

session.setConfig("StrictHostKeyChecking", "no");
session.setPassword(password);

session.connect();

assigned_port = session.setPortForwardingL(lport, rhost, rport);

} catch (Exception e) {
System.err.println(e);
System.exit(1);
}

return assigned_port;
}

public static void closeConnection() {
if (session != null) {
session.disconnect();
}
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... automation

Вернуться в «JAVA»