我试图同时打开 exec 和 sftp channel ,但是当我打开 sftp channel 时出现错误,代码(简化)是这样的:
JSch connection = new JSch();
Session session = connection.getSession(user, ip, port);
session.setPassword(password);
session.connect(15000);
ChannelExec channel = (ChannelExec) session.openChannel("exec");
//exec commands whit channel
Channel ch;
ch = ssh.session.openChannel("sftp");
ch.connect();//-------ERROR!
ChannelSftp sftp = (ChannelSftp)ch;
错误是:“com.jcraft.jsch.JSchException: channel 未打开。”
最佳答案
尝试增加超时:
ch.connect(60 * 1000); // A minute wait for connection.
关于java - jsch channel 未开通,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31536395/