我正在尝试使用 JSCH 库版本 0.1.49 连接到 SFTP 远程服务器。每次运行程序时,我都会收到以下错误:
Initializing...
Connection to SFTP server is successfully
com.jcraft.jsch.JSchException: Unable to connect to SFTP server.com.jcraft.jsch.JSchException: failed to send channel request
at shell.MainClass.JschConnect(MainClass.java:95)
at shell.MainClass.main(MainClass.java:30)
第 30 行是:sftpChannel.connect()
来自以下代码:
System.out.println("Initializing...");
JSch jsch = new JSch();
Session session = null;
try {
session = jsch.getSession(ProjectConstants.rmUsername,ProjectConstants.rmHost, 22);
session.setPassword(ProjectConstants.rmPassword);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
if (session.isConnected() == true) {
System.out.println("Connection to SFTP server is successfully");
}
ChannelSftp sftpChannel = (ChannelSftp) session.openChannel("sftp");
try {
sftpChannel.connect();
} catch (Exception e) {
throw new JSchException("Unable to connect to SFTP server. "
+ e.toString());
}
我使用的凭据是正确的(它使用相同的数据通过 FileZilla 连接),并且我还禁用了该服务器的代理(无论有没有代理,我都会得到相同的错误)
如果有人可以帮助我,我将不胜感激,因为我现在被这个错误困扰了大约一个星期......
谢谢你。