docs: public static Expect4j SSH(String hostname, String username, String password, int port) throws Exception {
          logger.debug("Creating SSH session with " + hostname + ":" + port + " as " + username);
  
          JSch jsch = new JSch();
  
          //jsch.setKnownHosts("/home/foo/.ssh/known_hosts");
  
          final Session session = jsch.getSession(username, hostname, port);
          if (password != null) {
              logger.trace("Setting the Jsch password to the one provided (not shown)");
              session.setPassword(password);
          }
  
          java.util.Hashtable<String, String> config = new java.util.Hashtable<>();
          config.put("StrictHostKeyChecking", "no");
          session.setConfig(config);
          session.setDaemonThread(true);
          session.connect(3 * 1000);   // making a connection with timeout.
  
          ChannelShell channel = (ChannelShell) session.openChannel("shell");
  
          //channel.setInputStream(System.in);
          //channel.setOutputStream(System.out);
  
          channel.setPtyType("vt102");
  
          //channel.setEnv("LANG", "ja_JP.eucJP");
  
          Expect4j expect = new Expect4j(channel.getInputStream(), channel.getOutputStream()) {
              public void close() {
                  super.close();
                  session.disconnect();
              }
          };
  
          channel.connect(5 * 1000);
  
          return expect;
      }