如何使用Apache SSH保护telnet应用程序

时间:2018-09-24 07:33:26

标签: java ssh telnet sshd

我们有以下主要方法可以启动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会话登录我当前的应用程序。     任何想法或建议都会对我有很大帮助,谢谢

0 个答案:

没有答案