I'm facing an issue when I try to connect to PostgreSQL Database after connected SSH successfully. I'm using Java + JSCH library to help connect to DB PostgreSQL via SSH tunnel. Please help to take a look on my code:
public static Connection connectDBAWS(String ipAddress, int port, String dbName, String username, String password, String tunnelHost, int tunnelPort, String tunnelUsername, String tunnelPassword) {
Connection connection;
Session session;
try {
//SSH TUNNEL connection
JSch jsch = new JSch();
session = jsch.getSession(tunnelUsername, tunnelHost, 22);
session.setPassword(tunnelPassword);
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
System.out.println("Connected Successfully");
int assinged_port = session.setPortForwardingL(port, tunnelHost, tunnelPort);
System.out.println("assinged_port -> " + assinged_port);
System.out.println("Port Forwarded");
//DB connection
String dbUrl = "jdbc:postgresql://" + ipAddress + ":" + assinged_port + "/" + dbName;
Class.forName("org.postgresql.Driver");;
connection = DriverManager.getConnection(dbUrl, username, password);
System.out.println("connect DB success");
} catch (Exception e) {
connection = null;
e.printStackTrace();
}
return connection;
}
An exception is thrown at following step:
connection = DriverManager.getConnection(dbUrl, username, password);
Here is result:
Connected Successfully
assinged_port -> 5432
Port Forwarded
org.postgresql.util.PSQLException: The connection attempt failed.
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:292)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195)
at org.postgresql.Driver.makeConnection(Driver.java:454)
at org.postgresql.Driver.connect(Driver.java:256)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
...
I used value above to connect PostgreSQL manually, using pgAdmin4, and connect successfully: See configuration image here.
Please someone could give some ideal for fixing my code.