【发布时间】:2019-01-05 02:28:48
【问题描述】:
我尝试使用 InputStream 和 Buffer[],还有 BufferedReader,还有 PipedInputStream。对于所有情况,我都为空:
sessionB = jSch.getSession(username, "localhost", forwardedPort);
sessionB.connect();
if(sessionB.isConnected()) {
System.out.println("Connected host B!");
channel = (ChannelExec) sessionB.openChannel("exec");
br = new BufferedReader(new
InputStreamReader(channel.getInputStream()));
((ChannelExec)channel).setCommand("command");
((ChannelExec)channel).setErrStream(System.err);
channel.connect();
if(channel.isConnected()) {
System.out.println("Channel is connected!");
}
String line;
while((line = br.readLine()) != null) {
System.out.println(line);
}
和控制台输出:
已连接主机 A!已连接主机 B!频道已连接!
问题:我没有打印任何东西 (System.out.println(line);)
有没有办法通过端口转发从 exec 通道获取该流?感谢您的帮助
【问题讨论】:
-
您的代码对我来说工作得很好,假设您没有向我们展示的其余代码是合理的。我们需要minimal reproducible example。
标签: java jsch portforwarding bufferedinputstream