Как обезопасить приложение telnet с помощью Apache SSH - PullRequest
0 голосов
/ 24 сентября 2018

у нас есть следующий основной метод, который запускает приложение 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.Любая идея или предложения помогут мне много, спасибо

...