Jsch 与私钥的连接失败并显示 com.jcraft.jsch.JSchException:Auth 失败错误

Jsch connection with private key fails with com.jcraft.jsch.JSchException: Auth fail error

我正在尝试使用 Jsch 通过 ssh 连接到远程服务器。 我可以使用 bash 命令成功连接:

ssh -p 999 -i ~/.ssh/private_key.pem server_name

但是当我使用以下配置尝试使用 Jsch 时,连接失败 com.jcraft.jsch.JSchException: Auth fail

JSch jsch = new JSch();
Session session = jsch.getSession("user_name", "server_name", 999);
jsch.addIdentity("~/.ssh/private_key.pem");
session.connect(30000);

尝试指定和不指定主机文件。还有 "PreferredAuthentications" : "privatekey" - 同样的结果

在此先感谢您的帮助。

问题出在密钥上,一旦我将密钥从私有密钥更改为正确的 public 密钥,我就可以连接了。