- Forum-Beiträge: 4
16.01.2017, 14:35:08 via Website
16.01.2017 14:35:08 via Website
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:
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);
}
}
Quelle: stackoverflow.com/questions/49…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
— geändert am 16.01.2017, 15:05:41 durch Moderator
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.