2014-01-10 3 views
1

Я пытаюсь подключиться к своему SFTP-серверу из сценария Java. Я использую JSch lib для своей цели. Имя пользователя, пароль и имя хоста верны, но я получаю ошибку: Auth fail.JSchException: Auth fail и fingerprint

Я также попытался добавить следующие строки перед session.connect(), но проблема все еще остается.

java.util.Properties config = new java.util.Properties(); 
config.put("StrictHostKeyChecking", "no"); 
session.setConfig(config); 

Что мне нужно разместить внутри knownhosts.txt? Отпечаток ключа моего сервера?

public static void upload(ArrayList<File> a) { 
try{ 
    JSch jsch = new JSch(); 

    jsch.setKnownHosts("knownhosts.txt"); 

    Session session = jsch.getSession("username", "hostname", 22); 
    session.setPassword("mypassword"); 

    session.connect(); 

    Channel channel = session.openChannel("sftp"); 
    channel.connect(); 
    ChannelSftp channelSftp = (ChannelSftp) channel; 

    channelSftp.cd("/var/www/"); 

    for(File object: a){ 
     channelSftp.put(new FileInputStream(object), object.getName(), channelSftp.OVERWRITE); 
    } 
    channelSftp.exit(); 
session.disconnect(); 

} catch (Exception ex) { 
    ex.printStackTrace(); 
    }   
} 

Есть ли у вас какие-нибудь советы? Заранее спасибо!

ответ

0

Поддерживает ли ваш сервер/сервер SMTP IP6? Если у вашего клиента есть поддержка IP6, более поздние версии Java по умолчанию для IP6, но многие SMTP-серверы настроены на IP4. See this article here for Sending email using JSP for directions on configuring your JVM to force IP4. Это необходимо установить на JVM по мере его создания.

Смежные вопросы