jsch使用過程中遇到auth fail或者auth cancle問題

  在使用Jsch連接linux服務器的過程中,有時候會遇到:com.jcraft.jsch.JSchException: Auth fail 或者 com.jcraft.jsch.JSchException: Auth cancel

問題,表面的意思就是jsch驗證失敗,經過探索和實驗,可能的原因是以下2條:

  1. 你所使用的用戶不能進行遠程登錄,比如CentOS6,默認root不能進行遠程登錄,這一點需要引起注意
  2. linux服務器的配置文件 /etc/ssh/sshd_config 中 GSSAPIAuthentication 的值應該是 yes
可以嘗試使用一下解法:

  1.     在路徑 /etc/ssh/sshd_config 文件中,PermitRootLogin yes 把這一行通過註釋取消掉,也就是允許root遠程登錄。
  2. 在路徑 /etc/ssh/sshd_config 中 將GSSAPIAuthentication 修改爲 no, 或者在java代碼中增加
    session.setConfig("userauth.gssapi-with-mic", "no"),同時不要忘了 session.setConfig("StrictHostKeyChecking", "no");
  3. 如果想加快SSH的登錄的速度,可以把路徑 /etc/ssh/sshd_config 文件中 UseDNS yes 修改爲 no
  4. 重啓sshd服務,service sshd restart


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章