【发布时间】:2018-03-23 18:59:58
【问题描述】:
据我所知,可以使用 JSch 创建一个 SSH 隧道,然后将设置放在 Firefox 中作为 SOCKS5 代理,所有流量都将通过 JSch 连接的机器。我找到了以下代码,但有一些我不明白的地方。
String host = "my ssh server ip";
String user = "root";
String password = "mypass";
int port = 22;
int tunnelLocalPort = 9080;
String tunnelRemoteHost = "YYY.YYY.YYY.YYY";
int tunnelRemotePort = 80;
JSch jsch = new JSch();
Session session = jsch.getSession(user, host, port);
session.setPassword(password);
localUserInfo lui = new localUserInfo();
session.setUserInfo(lui);
session.connect();
session.setPortForwardingL(tunnelLocalPort, tunnelRemoteHost, tunnelRemotePort);
System.out.println("Connected");
tunnelLocalPort 是我的 java 程序要监听的端口吗?这是我放 Firefox SOCKS5 代理设置的端口?
我不明白 tunnelRemoteHost 的用途,我希望它像 SOCKS5 代理一样,就像 PuTTY 在其上设置隧道时所做的那样。
【问题讨论】:
标签: java ssh jsch socks ssh-tunnel