2016-10-26 17 views
0

UATサーバーのパスから簡単なファイルを読み込もうとしています。私のローカルからのテスト - 私はJschExceptionを取得し続けます:認証が失敗します。私は以下のように使用していますコード: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

それを指定してみてください - 残念ながら使用はありません。 – 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(); 
関連する問題