2016-04-07 4 views
-4

Я пытаюсь установить соединение scp с сервером, но у меня возникла проблема при подключении к серверу. Он бросает НИЖЕ за исключениемJsch auth fail using public key

com.jcraft.JschExceltion: Auth неудачу

При использовании пароля подход, я могу подключиться, но при использовании подхода открытого ключа, его не подключается.

Я также добавил файл hosts. Ниже приведен фрагмент кода:

.... 
jsch.addIdentity("~/.ssh/id_rsa");       
jsch.addKnownHosts("~/.ssh/known_hosts"); 
.... 
+1

Как насчет дополнительной публикации вашей ошибки? –

+1

Отмечено выше комментатора к модератору: пожалуйста, держите его гражданским. – halfer

ответ

0

Java библиотеки вообще не расширять ~, и что расширение не будет сделано на уровне операционной системы, либо. Когда вы используете это расширение в оболочке, сама оболочка выполняет подстановку.

Другими словами, ваш код ищет файлы в каталоге, буквально названном ~, относительно рабочего каталога вашей программы.

Вместо этого вы должны получить домашний каталог пользователя с помощью System.getProperty("user.home") и построить путь относительно этого.