Я использую библиотеку АОH, чтобы сделать sftp между двумя серверами. Но я не могу загрузить файл в URL
, используя getResource()
, для которого я получаю сообщение об ошибке во время выполнения. Я проверил разрешения, и их 600, поэтому мы должны быть в состоянии прочитать его.Безопасный FTP с использованием аутентификации с использованием секретного ключа
JSch jsch = new JSch();
File file = new File("/home/xxxxxx/.ssh/id_rsa");
Session session = null;
URL keyFileURL = null;
URI keyFileURI = null;
if (file.exists())
{
keyFileURL = SecureFTP.class.getClassLoader().getResource("/home/xxxxxx/.ssh/id_rsa");
if (keyFileURL == null)
{
System.out.println("what");
throw new RuntimeException("Key file not found in classpath");
}
}
try{
keyFileURI = keyFileURL.toURI();
}
catch(Exception URISyntaxException)
{
System.out.println("Wrong URL. LOL");
}
jsch.addIdentity(new File(keyFileURI).getAbsolutePath());
Есть ли что-то, что мне не хватает, при загрузке ресурса или пути?
? ключевой файл? программа компилируется в порядке, она дает мне ошибку во время выполнения. – roymustang86
Является /home/xxxxxx/.ssh/id_rsa на пути к классам? Должно быть? Похоже, вы хотите получить файл в директории «/ home». Я не думаю, что это будет ресурс вашего приложения? –