我有一个需要从远程ssh服务器获取文件的应用程序。问题是远程服务器最近更新了其安全性,现在他们需要私钥和密码才能连接。我现在无法连接到服务器并出现以下错误-
信息:/ opt / ouaf / scheduler / individuals /。 com.jcraft.jsch.JSchException:Session.connect:java.security.InvalidAlgorithmParameterException:素数必须是64的倍数,并且只能在512到1024(含)范围内 在com.jcraft.jsch.Session.connect(Session.java:558) 在com.jcraft.jsch.Session.connect(Session.java:183) 在 SFTPFileTransferForAll.transferFileFromExternalSystem(SFTPFileTransferForAll.java:157) 在SFTPFileTransferForAll.main(SFTPFileTransferForAll.java:294)
这是我正在使用的代码-
JSch jSch = new JSch();
Session session = null;
Channel channel = null;
ChannelSftp channelSftp = null;
String privateKey = FTCB.getSshFileLocation();
jSch.addIdentity(privateKey);
session =jSch.getSession(SecUtil.getUserName(FTCB.getAuthenticationToken()),
FTCB.getServer(),new Integer(FTCB.getPort()).intValue());
session.setPassword(SecUtil.getPass(FTCB.getAuthenticationToken()));
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
channel = session.openChannel(FTCB.getProtocol());
channel.connect();
log.info("Shell Channel connected...");