【发布时间】:2013-06-17 13:39:07
【问题描述】:
在尝试将文件上传到我们的服务器时,我收到以下异常
com.jcraft.jsch.JSchException: Auth fail
at com.jcraft.jsch.Session.connect(Session.java:464)
at com.jcraft.jsch.Session.connect(Session.java:158)
at FtpService.transferFileToReciever(FtpService.java:80)
at FtpService.transferFileToReciever(FtpService.java:54)
at FtpService.transferFileToRecievers(FtpService.java:44)
at FtpService.transferSingeFile(FtpService.java:241)
at FtpService.main(FtpService.java:26)
Auth fail
来自源文件的函数 transferFileToReciever 部分是
JSch jsch = new JSch();
jsch.addIdentity("/root/.ssh/id_dsa");
Session session = jsch.getSession(username, host, 22);
session.setUserInfo(serverinfo);
session.connect(); //geting exception here
boolean ptimestamp = true;
密码有效,因为我可以使用 ssh 登录,但使用 JSCh 甚至提供密钥、用户名和密码也无法使用。 使用带有 java 版本“1.6.0_25”的 id_dsa 键。 可能是什么错误?
找到其他类似的问题,但没有答案。 提前致谢。
【问题讨论】:
-
您确定您的 java 程序可以找到并读取密钥文件吗?
-
是的,以超级用户身份运行程序。
-
> id_dsa 不应该是 id_rsa 吗?