java - "com.jcraft.jsch.JSchException: Auth fail"使用工作密码

标签 java jsch

在尝试将文件上传到我们的服务器时,我收到以下异常

    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 即使提供 key 、用户名和密码也无法使用。 使用带有 java 版本“1.6.0_25”的 id_dsa 键。 可能是什么错误?

找到其他类似的问题,但没有答案。 提前致谢。

最佳答案

追根溯源,我终于发现远程服务器上的授权 key 中没有添加dsa类型的公钥。附加相同的内容对我有用。

ssh 正在使用 rsa key ,导致我回顾我的代码。

谢谢大家。

关于java - "com.jcraft.jsch.JSchException: Auth fail"使用工作密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17148948/

相关文章:

java - 如何检查集合是否包含 Scala 中其他集合的任何元素?

java - 在 Java Struts Web 应用程序中使用 JSch 上传文件被损坏

java - Spring Boot项目中如何自动测试是否使用了Ehcache

java - @Nullable 和 SonarQube 'Conditionally executed blocks should be reachable' 警告

java - 为使用 JSch 通过 SSH 执行的命令提供输入/子命令

java - 使用带有公钥/私钥身份验证的 JSch 从远程 SFTP 服务器获取数据。有什么例子吗?

java - 在 WAS 上找不到 sun.security.util.DerValue

java - JSch 无法运行命令,它是别名并返回 KSH : not found

Java .get(Calendar.YEAR) 返回当前年份而不是自分配值

java - 如何在java中将INDArray转换为Json?