= new LocalPortForwarder.Parameters("localhost", localPort, "localhost", remotePort); final ServerSocket ss = new ServerSocket(); ss.setReuseAddress(true); ss.bind(new InetSocketAddress(params.getLocalHost(), params.getLocalPort()));
public static PortForwarder create(SSHClient client, String remoteHostName, String localHost, int localPort, String remoteHost, int remotePort) throws IOException { final LocalPortForwarder.Parameters params = new LocalPortForwarder.Parameters(localHost, localPort, remoteHost, remotePort); ServerSocket ss = new ServerSocket(); ss.setReuseAddress(true); ss.bind(new InetSocketAddress(localHost, localPort)); final LocalPortForwarder forwarder = client.newLocalPortForwarder(params, ss); Thread forwarderThread = new Thread(new Runnable() { @Override public void run() { try { forwarder.listen(); } catch (IOException ignore) { } } }, "SSH port forwarder thread from local port " + localPort + " to " + remoteHostName + ":" + remotePort); forwarderThread.setDaemon(true); logger.info("Starting {}", forwarderThread.getName()); forwarderThread.start(); return new PortForwarder(forwarderThread, ss); }
@Override protected SSHPacket buildOpenReq() { return super.buildOpenReq() .putString(parameters.getRemoteHost()) .putUInt32(parameters.getRemotePort()) .putString(parameters.getLocalHost()) .putUInt32(parameters.getLocalPort()); }
@Override protected SSHPacket buildOpenReq() { return super.buildOpenReq() .putString(parameters.getRemoteHost()) .putUInt32(parameters.getRemotePort()) .putString(parameters.getLocalHost()) .putUInt32(parameters.getLocalPort()); }
@Override protected SSHPacket buildOpenReq() { return super.buildOpenReq() .putString(parameters.getRemoteHost()) .putUInt32(parameters.getRemotePort()) .putString(parameters.getLocalHost()) .putUInt32(parameters.getLocalPort()); }