2016-10-26 2 views
0

Я пытаюсь прочитать простой файл из пути на моем сервере UAT. Тестирование из моего локального - я продолжаю получать JschException: Auth терпит неудачу. Код, я использую, как показано ниже:jsch Auth Сбой при подключении к unix-боксу

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

     Session session = jsch.getSession(user, host, 22); 
     session.setConfig(config); 
     session.connect(); 

     String passwd = "----"; 
     session.setPassword(passwd); 
     Channel channel = session.openChannel("exec"); 

Я пытался добавить ключ к known_hosts моего локального диска, но это ничего не меняет. Я получаю следующее сообщение:

com.jcraft.jsch.JSchException: Auth fail 
at com.jcraft.jsch.Session.connect(Session.java:473) 
at com.jcraft.jsch.Session.connect(Session.java:145) 
at gundam.uatchecker.impl.Shell.main(Shell.java:91) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 

Некоторая помощь была бы очень признательна. Кроме того, я пытался добавить хосты, как показано ниже:

ssh-keyscan remote_server > ~/.ssh/known_hosts 

также другие должности - ни один, кажется, работают здесь. Любые идеи?

+0

Может быть, вы должны указать свой пароль, прежде чем подключиться? – zack6849

+0

Tried уточнение это также - к сожалению нет использования. – Amby

ответ

0

Ниже код работает: -

JSch jsch = new JSch(); 

    String path = "PATH TO PRIVATE KEY"; 


    jsch.addIdentity(path); 

    jsch.setConfig("StrictHostKeyChecking", "no"); 

    Session session = jsch.getSession(userName, ipToConnect, portToConnect); 
    session.connect(); 

    Channel channel = session.openChannel("exec"); 

    ((ChannelExec)channel).setCommand("COMMAND TO FIRE"); 

    channel.setInputStream(null); 

    ((ChannelExec)channel).setErrStream(System.err); 

    InputStream in = channel.getInputStream(); 

    channel.connect(); 

    //Read Response Here 

    channel.disconnect(); 
    session.disconnect(); 
Смежные вопросы