【发布时间】:2014-10-16 11:30:39
【问题描述】:
我有一个 socks 代理,可以通过以下命令在本地端口上的 Ubuntu 终端中创建 ssh 连接:
ssh -D local_port user_name@host_IP
但我想通过 Java 代码执行此任务。我使用了下面的代码,但任何时候运行它,都会显示这个异常:
“com.jcraft.jsch.JSchException:ProxySOCKS5:com.jcraft.jsch.JSchException:java.net.ConnectException:连接被拒绝”
public static void main(String[] arg) {
try {
JSch jsch = new JSch();
String user = "user_name";
String host = "host_IP";
int port = local_port;
Session session = jsch.getSession(user, host, 22);
Proxy proxy = new ProxySOCKS5(host, port);
session.setProxy(proxy);
String passwd = "password";
session.setPassword(passwd);
UserInfo ui = new MyUserInfo()
session.setUserInfo(ui);
session.connect(30000);
Channel channel = session.openChannel("shell");
channel.setInputStream(System.in);
channel.setOutputStream(System.out);
channel.connect(3 * 1000);
} catch (Exception e) {
System.out.println(e);
}
}
【问题讨论】: