ProxySOCKS5 convierte una sesión de JSch en cliente de un servicio SOCKS existente. Por sí mismo no ofrece la función opuesta: un oyente SOCKS que lleve otros clientes a través de SSH.

JSch jsch = new JSch();
jsch.setKnownHosts("/home/alex/.ssh/known_hosts");

Session session = jsch.getSession("alex", "ssh.example.net", 22);
ProxySOCKS5 proxy = new ProxySOCKS5("127.0.0.1", 1080);
session.setProxy(proxy);

Ejecute esto antes de la autenticación SSH y la conexión de sesión de la aplicación. Prepare el archivo known-hosts con la identidad del servidor SSH previsto y mantenga esas comprobaciones a través del proxy.

La interfaz de credenciales del objeto proxy, cuando es necesario, se autentica ante el intermediario. No sustituye el inicio de sesión SSH. Para un servidor SSH accesible públicamente donde se permiten intermediarios públicos, la lista de proxies SOCKS5 ofrece candidatos para ProxySOCKS5. Use la forma sin cuenta de proxy que se muestra y confirme que el nodo permite el host y el puerto SSH reales.

Para los requisitos de oyente, distinga el reenvío fijo a un objetivo predefinido de la negociación SOCKS dinámica para cada cliente. Un método de túnel no relacionado no proporciona ese servidor. Compruebe la capacidad pública exacta de la biblioteca instalada en lugar de interpretar el «soporte SOCKS» como ambas tareas.

Artículos relacionados