我使用7.2 我已经产生了SSH私有&公共密钥使用腻子凯基对(SSH2-2048位)运行的NetBeans 1.7 JDK & Windows 7操作系统。我没有任何私钥密码。 我现在试图使用SFTP连接到其中一台主机。但是,当我通过私钥(ppk)设置标识时,代码将返回无效的私钥错误。我在WinSCP中使用相同的私钥连接到相同的主机&它工作正常。请帮助我解决错误。 这是我的代码:JSCH - 私有密钥无效
JSch jsch = new JSch();
Session session = null;
try {
jsch.addIdentity("D:\\TEMP\\key.ppk");
session = jsch.getSession("tiabscp", "ssiw.support.qvalent.com", 22);
session.setConfig("StrictHostKeyChecking", "no");
//session.setPassword("");
session.connect();
Channel channel = session.openChannel("sftp");
System.out.println("Getting connected");
channel.connect();
System.out.println("connected successfully");
ChannelSftp sftpChannel = (ChannelSftp) channel;
sftpChannel.get("remotefile.txt", "localfile.txt");
sftpChannel.exit();
session.disconnect();
}catch (JSchException e) {
e.printStackTrace();
}catch (SftpException e) {
e.printStackTrace();
}
请在帖子中包含打印堆栈跟踪 – Visruth 2013-03-11 06:50:29