Время ожидания подключения для прокси-туннеля истекло при подключении к SFTP Java

Я пытаюсь настроить прокси-туннель для предоставления статического IP-адреса для подключения к одному SFTP-серверу. Я пытаюсь это сделать с помощью надстройки QuotaGardStatic на моем сервере Heroku. Я видел несколько руководств, и это мой класс для подключения через прокси-туннель:

      public class JsheExecutor {

       public static void go(InputStream targetStream) throws Exception {

          StringBuilder outputBuffer = new StringBuilder();

          String host = "hostOfThatSFTP"; // The host to be connected finally
          String user = "myUser";
          String password = "mypassword";
          int port = 22;

          String tunnelRemoteHost = "hostFromQuotaGardAddOn"; // The host from where the tunnel is created

          JSch jsch = new JSch();
          Session session = jsch.getSession(user, host, port);
          session.setPassword(password);
          java.util.Properties config = new java.util.Properties();
          config.put("StrictHostKeyChecking", "no");
          config.put("PreferredAuthentications", "password");

          ProxySOCKS5 proxyTunnel = new ProxySOCKS5(tunnelRemoteHost, 2222);
          proxyTunnel.setUserPasswd("quotaguardUser", "quotaguardpass");
          session.setProxy(proxyTunnel);
          session.setTimeout(3600000);
          session.connect();

          Channel channel=session.openChannel("sftp");

            channel.setInputStream(targetStream);

            InputStream stdout=channel.getInputStream();

            channel.connect();

            while (true) {
                byte[] tmpArray=new byte[1024];
                while(stdout.available() > 0){
                    int i=stdout.read(tmpArray, 0, 1024);
                    if(i<0)break;
                    outputBuffer.append(new String(tmpArray, 0, i));
                 }
                if(channel.isClosed()){
                    System.out.println("exit-status: "+channel.getExitStatus());
                    break;
                 }
            }
          stdout.close();

          channel.disconnect();

          session.disconnect();

          System.out.println(outputBuffer.toString());
       }

    }

Но я всегда получаю error at=error code=H12 desc="Request timeout" method=POST path="/mybrocki/auth/users/export" host=be.minibrocki.ch request_id=28ada120-7c8d-4261-adcf-d105d27067bb fwd="213.208.158.212" dyno=web.1 connect=0ms service=30000ms status=503 bytes=0 protocol=https в строке, где он пишет

      session.connect();

Я много чего пробовал, меняя значения тайм-аута, но ничего. Может ли кто-нибудь помочь мне понять, где я ошибаюсь?

0 ответов

Другие вопросы по тегам