Hello Paul and Łukasz! Thank you for your answers. I can already see that the client was found and called, as I get the "client: Ignoring predefined value for KARAF_HOME" message. However, it would be better to get the result of the commands passed to the client.
Maybe someone has more ideas? -----Ursprüngliche Nachricht----- Von: Łukasz Dywicki [mailto:[email protected]] Gesendet: Donnerstag, 12. Januar 2023 20:34 An: [email protected] Betreff: Re: Verify SSH client login with Java Pay attention to directory in whcih your main() is being ran. For start try setting absolute path to bin/client. Best, Łukasz On 12.01.2023 16:29, Domke, Alexander wrote: > Hello all, > > I'm trying to use a Java program to check if the Karaf SSH client that > comes with the program is working. For this I wrote a simple Java > program, but the client does not return the result. When I run the > command "bash -c ./bin/client -u karaf -p karaf \"system:version\"" > manually in the console it works, but not when I run it through the > program. > > import java.io.BufferedReader; > > import java.io.IOException; > > import java.io.InputStreamReader; > > public class App { > > public static void main(String[] args) throws Exception { > > System.out.println("SSH Client Check"); > > testSSHClient(); > > } > > public static void testSSHClient() throws Exception { > > String commandUnix = "bash -c ./bin/client -u karaf -p karaf > \"system:version\""; > > String clientLoginResult = executeSSHClient(commandUnix); > > System.out.println(clientLoginResult); > > } > > private static String executeSSHClient(String command) > > throws IOException, InterruptedException { > > StringBuffer output = new StringBuffer(); > > Process p = Runtime.getRuntime().exec(command); > > p.waitFor(); > > BufferedReader reader = new BufferedReader(new > InputStreamReader(p.getInputStream())); > > String line = ""; > > while ((line = reader.readLine()) != null) { > > output.append(line + "\n"); > > } > > String result = output.toString(); > > return result.trim(); > > } > > } > > Does anyone have any idea what could be the reason for this? > > Regards > > Alex > > > CENIT AG, Industriestrasse 52-54, 70565 Stuttgart, Tel.: +49 711 > 7825-30, Fax: +49 711 7825-4000, Internet: www.cenit.com > Geschaeftsstellen (Branch Offices): Berlin, Frankfurt, Hamburg, > Hannover, Muenchen, Oelsnitz, Ratingen, Saarbruecken > Vorstandsmitglieder (Members of the Board): Peter Schneck, Axelle Maze > Aufsichtsratsmitglieder (Supervisory Board Members): Rainer Koppitz > (Vorsitzender des Aufsichtsrats / Chairman of the Supervisory Board), > Prof. Dr. Isabell Welpe, Ricardo Malta Bankverbindungen (Bank > Accounts): > Deutsche Bank (BLZ 600 700 70) Kto. 1661 040 IBAN : DE85 6007 0070 > 0166 > 1040 00 SWIFT-CODE : DEUTDESS, > Commerzbank (BLZ 600 400 71) Kto. 532 015 500 IBAN : DE83 6004 0071 > 0532 > 0155 00 SWIFT-Code : COBADEFF600, > Registergericht (Registry court): Amtsgericht Stuttgart > Handelsregister (Commercial Register): HRB Nr. 19117 Umsatzsteuer > (VAT) ID: DE 147 862 777 CENIT AG, Industriestrasse 52-54, 70565 Stuttgart, Tel.: +49 711 7825-30, Fax: +49 711 7825-4000, Internet: www.cenit.com Geschaeftsstellen (Branch Offices): Berlin, Frankfurt, Hamburg, Hannover, Muenchen, Oelsnitz, Ratingen, Saarbruecken Vorstandsmitglieder (Members of the Board): Peter Schneck, Axelle Maze Aufsichtsratsmitglieder (Supervisory Board Members): Rainer Koppitz (Vorsitzender des Aufsichtsrats / Chairman of the Supervisory Board), Prof. Dr. Isabell Welpe, Ricardo Malta Bankverbindungen (Bank Accounts): Deutsche Bank (BLZ 600 700 70) Kto. 1661 040 IBAN : DE85 6007 0070 0166 1040 00 SWIFT-CODE : DEUTDESS, Commerzbank (BLZ 600 400 71) Kto. 532 015 500 IBAN : DE83 6004 0071 0532 0155 00 SWIFT-Code : COBADEFF600, Registergericht (Registry court): Amtsgericht Stuttgart Handelsregister (Commercial Register): HRB Nr. 19117 Umsatzsteuer (VAT) ID: DE 147 862 777
