У меня возникла проблема с попыткой проверить подключение при использовании библиотеки Ganymed в java, 2 недели назад она работала нормально, без проблем, но теперь я получаю следующее сообщение об ошибке :Ошибка при попытке выполнить команду
The execute request failed.
Что связано с методом «execCommand()» Ganymed. Когда я использую WinSCP для подключения, все работает, но попытка подключения с помощью java дает мне ошибку. Я также думаю, что, возможно, брандмауэры могут быть причиной, просто мысль.
код, я использую, чтобы выполнить команду хвост состоит в следующем:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;
import ch.ethz.ssh2.StreamGobbler;
public class SSHTesting {
public static void main(String[] args) {
try{ Connection conn = new Connection("eappdev101.momentum.co.za");
conn.connect();
boolean isAuthenticated = conn.authenticateWithPassword("username", "password");
if (isAuthenticated == false) {
System.out.println("Credentials are wrong.");
}
Session sess = conn.openSession();
sess.execCommand("tail -f /logs/SystemOut.log");
InputStream stdout = new StreamGobbler(sess.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
sess.close();
conn.close();
System.out.println("Done");
}
catch(Exception ie){
System.out.println(ie.getMessage());
}
}
}
Любое будка света высоко ценится. Заранее спасибо.
код выглядит хорошо, так что это может быть из-за проверки подлинности сервера SSH конфигурации. –