JSCH SSH-соединение не может получить author_keys - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь установить соединение через SSH с Windows на Unix-сервер. Моя цель, чтобы это было в моем Java-приложении, поэтому я не могу запустить команду без ввода паролей при каждом подключении

прямо сейчас япытаясь понять, что я делаю не так с ключами

Я сгенерировал ключ в Tectia и загрузил его на сервер;Я вижу это в .ssh как 2798 Apr 17 10:56 authorized_keys

мои настройки подключения выглядят так

...
JSch jsch = new JSch();
jsch.setKnownHosts("~/.ssh/know_hosts");
jsch.addIdentity("~/.ssh/authorized_keys");

System.out.println("identity added ");
Session session=jsch.getSession(user, host, 22);
session.setConfig("PreferredAuthentications", "publickey");
System.out.println("session created.");

session.connect();
System.out.println("Connected");
....

и в результате я получаю эту ошибку

com.jcraft.jsch.JSchException: java.io.FileNotFoundException: C: \ Users \ User \ .ssh \ authorized_keys (система не может найти указанный путь)

она ищетключ на моем локальном компьютере и не подключается к серверу

что я не так с этими ключами?

1 Ответ

1 голос
/ 17 апреля 2019

Аргументом addIdentity является локальный путь к вашему частному ключу.

Вместо этого вы указываете путь к файлу, который:

  1. будет содержать открытый ключ;
  2. Локально не выходит .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...