Как установить StrictHostKeyChecking = no для SFTP с использованием Java // Jscape - PullRequest
1 голос
/ 20 апреля 2019

Я использую SFTP, используя ручную команду как

sftp -oStrictHostKeyChecking=no 

Как передать тот же StrictHostKeyChecking = нет, используя Java

В настоящее время существует класс Java, который делает это

final com.jscape.inet.ssh.util.SshParameters sshParameters =
                new SshParameters("host",
                        "port",
                        "userid",
                        "password");

com.jscape.inet.sftp.Sftp sftp= new  com.jscape.inet.sftp.Sftp(sshParameters);

Как передать или обеспечить такое же поведение, как StrictHostKeyChecking = no в приведенном выше Java-коде. Примеры, которые мне удалось найти, говорят о SCP.

1 Ответ

0 голосов
/ 20 апреля 2019

Я не использовал эту библиотеку. Я даже не могу найти его в стандартных репозиториях Maven, и все, что я могу найти в Интернете, это его Javadocs. Поэтому я не могу попробовать то, что я предлагаю здесь. Это именно то, что я вижу в Javadocs.

Объект SshParameters, который вы создаете, имеет метод setHostKeyVerifier, а класс, который он принимает, HostKeyVerificationService, имеет статическую реализацию, называемую NULL, которую, по словам документации, не проверяет. Так что я бы попробовал это:

sshParameters.setHostKeyVerifier(HostKeyVerificationService.NULL);
...