Ssh 使用私钥的Jsch连接失败,返回com.jcraft.Jsch.JSchException:Auth fail error

Ssh 使用私钥的Jsch连接失败,返回com.jcraft.Jsch.JSchException:Auth fail error,ssh,jsch,private-key,Ssh,Jsch,Private Key,我正在尝试使用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通过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”
-结果相同


提前感谢您的帮助。

问题在于密钥,一旦我将密钥从私钥更改为正确的公钥,我就能够连接