SSHj порт с SSHj

Я пытаюсь создать туннель для использования службы за брандмауэром, который поддерживает SSH. Я хотел полное решение в Java, но я не могу заставить его работать. я нашел этоGithub Snip и на основе этого я создал следующий код, чтобы сохранить фоновый поток, дающий мне туннель:

// property on surrounding class
// static final SSHClient sshclient = new SSHClient();

Thread thread = new Thread(new Runnable() {

    @Override
    public void run() {
        try {
            String host = "10.0.3.96";
            sshclient.useCompression();
            sshclient.addHostKeyVerifier("30:68:2a:20:21:9f:c8:e8:ac:b4:a7:fc:2d:a7:d0:26");
            sshclient.connect(host);
            sshclient.authPassword("messy", "messy");
            if (!sshclient.isAuthenticated()) {
                throw new RuntimeException(String.format("Unable to authenticate against '%s'", host));
            }
            Forward forward = new Forward(8111);
            InetSocketAddress addr = new InetSocketAddress("google.com", 80);
            SocketForwardingConnectListener listener = new SocketForwardingConnectListener(addr);

            sshclient.getRemotePortForwarder().bind(forward, listener);
            sshclient.getTransport().setHeartbeatInterval(30);

            HttpURLConnection con = (HttpURLConnection) new URL("http://localhost:8111").openConnection();
            con.setRequestMethod("GET");
            BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream()));
            String line = null;
            while( (line = reader.readLine()) != null) {
                System.out.println(line);
            }

            sshclient.getTransport().join();

        } catch (IOException e) {
            e.printStackTrace();
        }

        try {
            if (sshclient != null && sshclient.isConnected()) {
                sshclient.disconnect();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
});
thread.setDaemon(true);
thread.start();

Проблема состоит в том, что, если я подключаюсь к удаленному SSH-серверу, как «10.0.3.96». это не работает. Если я использую локальный сервер SSH на моем локальном хосте, он будет работать. Мне не повезло, я пытался пройти через различные конфигурации и попытался отладить, но я не могу понять, что происходит внутри пакета SSHj.

Теперь это не обязательно должно быть решение SSHj, но это было бы предпочтительным, поскольку другие части кода полностью реализованы и используют SSHj, и я не хочу смешивать два пакета SSH в одном проекте.

Спасибо за любую помощь.

Ответы на вопрос(1)

Ваш ответ на вопрос