Hallo Liebe Community,
ich schreibe derzeit eine Android App, um mein Raspberry Pi mit SSH-Befehlen zu steuern. Dabei würde ich gerne mit meinem generierten Key die Verbindung herstellen. Um diesen Key hinzuzufügen benöte ich die Funktion addIdentity. Leider verstehe ich nicht, wie ich diesen Key der Funktion hinzufügen kann. Aktuell sieht mein Quellcode so aus:
Java
public ArrayList<String> sshBefehl(String nutzername, String ip, int port) throws Exception {
try{
JSch jsch = new JSch();
String privateKey = ".raw/id_rsa";
jsch.addIdentity(privateKey);
byte[] buffer = new byte[1024];
ArrayList<String> lines = new ArrayList<>();
Session session = jsch.getSession(nutzername, ip, port);
Properties prop = new Properties();
prop.put("StrictHostKeyChecking", "no");
session.setConfig(prop);
session.connect();
ChannelExec channelssh = (ChannelExec) session.openChannel("exec");
Log.e("command",currentCommand);
channelssh.setCommand(currentCommand);
channelssh.connect();
try {
InputStream in = channelssh.getInputStream();
String line = "";
while (true) {
while (in.available() > 0) {
int j;
j = in.read(buffer, 0, 1024);
if (j < 0) {
break;
}
line = new String(buffer, 0, j);
lines.add(line);
}
if (line.contains("logout")) {
break;
}
if (channelssh.isClosed()) {
break;
}
try {
Thread.sleep(1000);
} catch (Exception ee) {
}
}
} catch (Exception e) {
}
channelssh.disconnect();
session.disconnect();
return lines;
}
catch (Exception ex)
{
throw new RuntimeException("SSH connection failed: " + ex.getMessage(), ex);
}
}
Alles anzeigen
Quelle: http://stackoverflow.com/quest…h-key-based-communication
Dabei liegt die Key Datei in dem Ordner app/src/main/res/raw/id_rsa.ppk
Ich bekomme die Fehlermeldung:
SSH connection failed: java.io.FileNotFoundException: .raw/id_rsa: open failed: ENOENT (No such file or directory)
Das Programm findet die Datei wohl nicht.
Ich hoffe jemand kann mir bei meinem Problem helfen
Gruß
KronSii