Я новичок в разработке Android и пытаюсь использовать Jsch с помощью закрытого ключа для доступа к удаленному серверу. Я поместил закрытый ключ в папку res / raw, но мне сложно получить доступ к пути к файлу закрытого ключа при попытке аутентификации. Раньше у меня это работало для проекта Java. Вот копия того, что у меня есть.
private Session sshConnect() throws JSchException, IOException
{
try
{
//Login details
jschSession = jsch.getSession(sshUsername, sshServer, 22);
//Connect using private key and corresponding passphrase
jsch.addIdentity("./res/raw/id_rsa", passphrase);
//Ignore SSH key warnings
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
jschSession.setConfig(config);
//System.out.println(localPort);
jschSession.connect();
return jschSession;
}
catch (Exception ex)
{
throw new RuntimeException("SSH connection failed: " + ex.getMessage(), ex);
}
}
Затем это вызывает следующую ошибку, когда я пытаюсь запустить
java.lang.RuntimeException: SSH connection failed: java.io.FileNotFoundException: ./res/raw/id_rsa: open failed: ENOENT (No such file or directory)
Я пробовал следующее, чтобы попытаться получить доступ к содержимому папки res, но безуспешно:
jsch.addIdentity("file:///android_res/raw/id_rsa", passphrase);