у нас есть следующий основной метод, который запускает приложение telnet и открывает терминал и запускает процесс входа в систему на основе учетных данных.TelnetT - это внутренний jar, который открывает / создает терминал для приложения.
properties.load(new FileInputStream(file));
TelnetT telnetT = TelnetT.createTelnetT(properties);
telnetT.start();
в файле свойств есть некоторые настройки конфигурации
@Override
public void run(Connection connection) {
String uuid = UUID.randomUUID().toString();
terminal = new TelnetTerminal(connection, uuid);
Метод run () не является методом Java Threadэто метод TelnetT, который будет запускаться после telnetT.start () для открытия терминала
public TelnetTerminal(Connection connection, String sessionUUID) {
this.terminalIO = connection.getTerminalIO();
this.connection = connection;
this.sessionUUID = sessionUUID;
}
getTerminalIO () откроет терминал и запустится, войдет в систему приложение и дальнейший процесс продолжится.
, так что теперь яхочу использовать Apache SSH для того же приложения.так что я сделал в основном методе
SshServer sshd = SshServer.setUpDefaultServer();
PropertyResolverUtils.updateProperty(sshd, ServerFactoryManager.WELCOME_BANNER, BANNER);
sshd.setPasswordAuthenticator(new SshPasswordAuthenticator());
sshd.setPort(PORT);
sshd.setShellFactory(new SshSessionFactory());
sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider(new File("hostkey.ser")));
sshd.start();
, но после успеха соединения ssh он просто зависает, потому что TelnetT и sshd открывают отдельный терминал.поэтому я не хочу открывать отдельный терминал / сеанс, как мы делаем выше, используя TelnetT jar.Я хочу использовать тот же сеанс SSH для входа в мое текущее приложение после успешной аутентификации SSH.Любая идея или предложения помогут мне много, спасибо