我在另一个用户登录(而不是 root 用户)中在我的本地主机中创建了一个 SSH 密钥。目录 (/home/user/.ssh/) 中的公共 (id_rsa.pub) 和私有 (id_rsa) 密钥文件。我已将公钥文件复制到目录(./ssh/authorized_keys)中的远程主机。密码为空。
我编写了一个 java 程序,使用 maverick-legacy-client-1.7.5-all.jar 类从我的本地主机(linux 机器)连接到远程主机(linux 机器)。
以下是我的代码块
com.maverick.ssh.PublicKeyAuthentication pubKey = new com.maverick.ssh.PublicKeyAuthentication();
pubKey.setUsername(userName);
SshPrivateKeyFile pkf = SshPrivateKeyFileFactory.parse(privateKey);
SshKeyPair pair = pkf.toKeyPair(passphrase);
但是在运行程序时,我面临以下问题
com.sshtools.publickey.InvalidPassphraseException:不支持的类型:com.sshtools.publickey.OpenSSHPrivateKeyFile.toKeyPair 的 OPENSSH PRIVATE KEY(OpenSSHPrivateKeyFile.java:88)~[maverick-legacy-client-1.7.5-all.jar:?]
我不知道为什么会发生这个问题。请帮我解决这个问题。