Я могу установить sh сеанс переадресации портов в Ubuntu следующим образом:
ssh -L 8000:dev.mycompany.com:443 jump.mycompany.com
Теперь я хотел бы эмулировать это с помощью Jsch:
public static void openTunnel() {
JSch jsch = new JSch();
String privateKey = "~/.ssh/id_rsa";
try {
jsch.addIdentity(privateKey);
log.info("Connecting to {}@{}", getJumpUser(), getJumpServer());
Session session = jsch.getSession(getJumpUser(), getJumpServer(), 22);
session.connect();
session.setPortForwardingL(8000, getHost(), 433);
} catch (JSchException e) {
log.error("", e);
}
}
Однако я получаю следующее исключение после настройки туннеля и попытки подключиться к нему с помощью RestTemplate (Spring HTTP Client - но curl также выдает ошибку):
ssl.SSLHandshakeException: Remote host closed connection during handshake
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:744)
Что мне делать нужно сконфигурировать в Jsch, чтобы он делал то же самое, что и клиент opens sh?