0

我正在尝试使用sshj运行以下 Java 代码:-

public static void main(String[] args) throws IOException {

    SSHClient ssh = new SSHClient();
    ssh.loadKnownHosts();
    ssh.connect("host", port);
    try {
        ssh.authPassword("user", "passwd");
        ssh.useCompression();

        final String src = System.getProperty("user.home") + File.separator + "test_file";
        ssh.newSCPFileTransfer().upload(new FileSystemFile(src), "/tmp/");
    } finally {
        ssh.disconnect();
        ssh.close();
    }
}

但它抛出异常 -

Exception in thread "main" net.schmizz.sshj.userauth.UserAuthException: Exhausted available authentication methods
    at net.schmizz.sshj.SSHClient.auth(SSHClient.java:231)
    at net.schmizz.sshj.SSHClient.auth(SSHClient.java:206)
    at net.schmizz.sshj.SSHClient.authPassword(SSHClient.java:292)
    at net.schmizz.sshj.SSHClient.authPassword(SSHClient.java:262)
    at net.schmizz.sshj.SSHClient.authPassword(SSHClient.java:246)
    at sample.SCPUpload.main(SCPUpload.java:17)

我可以通过 Putty 使用相同的凭据连接主机。我正在使用 JDK“1.8.0_151”。这里有什么问题?

4

1 回答 1

0

通常这意味着您的密码错误,或者您不允许使用“密码”身份验证方法进行连接。

于 2018-03-02T12:36:35.233 回答