Вывод команды на печать при выполнении команды в сеансе SSH - PullRequest
0 голосов
/ 07 ноября 2018

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

SSHClient ssh = new SSHClient(); 
ssh.addHostKeyVerifier(  
                    new HostKeyVerifier() {  
                        public boolean verify(String arg0, int arg1, PublicKey arg2) {  
                            return true;  
                        }  
                    }  
            );
            ssh.connect(this.hostName, this.port);
            ssh.authPassword("santera", "santera1");
            //final Console con = System.console();
             Session session = ssh.startSession();
            session.allocateDefaultPTY();
             Shell shell = session.startShell();
             Expect expect = new ExpectBuilder()
                        .withOutput(shell.getOutputStream())
                        .withInputs(shell.getInputStream(), shell.getErrorStream())
                        .withEchoInput(System.out)
                        .withEchoOutput(System.err)
                        .withExceptionOnFailure()
                        .build();

                expect.sendLine("script test.txt");
                expect.expect(contains("%"));

                expect.sendLine("ls -l"); // ls -l is a command
                expect.expect(contains("%")); // % is a prompt

Я хотел бы получить вывод команды из 'command' в 'prompt'.

...