我使用以下代码通过 Windows 在 Linux 上执行命令:
JSch jsch=new JSch();
Session session=jsch.getSession(user, host, port);
session.setConfig(props);
session.setPassword(pwd);
session.connect();
ChannelShell channel = (ChannelShell)session.openChannel("shell");
boolean ch = channel.isConnected();
channel.sendSignal("ls");
channel.connect();
boolean ch1 = channel.isConnected();
但是它在 channel.connect();
行失败了:
com.jcraft.jsch.JSchException: session is down
at com.jcraft.jsch.Channel.connect(Channel.java:172)
at com.jcraft.jsch.Channel.connect(Channel.java:132)
如何修复这样的错误?
最佳答案
尝试使用一些轮询,您可以在其中检查 session 的事件状态。作为引用,您可以查看this 链接
关于linux - com.jcraft.jsch.JSchException : session is down 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24408618/