1 回答

TA贡献1839条经验 获得超15个赞
您需要更改以下行
s.connect(new InetSocketAddress(rHost, 8080), timeout);
到
s.connect(new InetSocketAddress("localhost", 8080), timeout);
因为你在使用该方法时实际上已经将本地主机端口 8080 映射到远程主机端口session.setPortForwardingL(8080, rHost, rPort);
你可以试试这段代码
try {
jsch.addIdentity(privateKeyPath);
session = jsch.getSession(username, hostL, port);
session.setConfig("PreferredAuthentications", "publickey,keyboard-interactive,password");
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
session.setPortForwardingL(8080, rHost, rPort);
Socket s = new Socket();
s.connect(new InetSocketAddress("localhost", 8080), timeout);
session.disconnect();
} catch (JSchException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
添加回答
举报