La pregunta es simple, pero la respuesta no es:
ssh -D 8080 user@host
o
ssh -gCNf -D 8080 user@host
o
wathever with -D #
Necesito un tipo de proxy que pueda usar con la variable http_proxy, en un dispositivo integrado que no sea compatible con SOCKS.
¿Qué tengo que hacer?
linux
ssh
proxy
socks-proxy
http-proxy
behrooz
fuente
fuente

ssh -D user@host:8080?-Despecifica un puerto para abrir el túnel, no el puerto para conectarse. (Incluso el puerto de conexión se especifica como-p port, no:port, por razones de compatibilidad.)Respuestas:
Método 1: utilice un proxy HTTP que admita el uso de un SOCKS ascendente, por ejemplo, Polipo o Privoxy.
Primero establezca un
-Dtúnel sobre SSH como siempre, luego configure el proxy HTTP para usar el túnel SSH - ejemplo de configuración de Polipo:Finalmente, apunte la aplicación a Polipo usando
http_proxy=localhost:8118.Método 2: ejecute su programa dentro del
torsockscontenedor (o el anteriortsocks), que representa todas las conexiones de forma transparente. Estaba destinado para su uso con Tor, pero funciona con cualquier servidor SOCKS, incluidossh -D.Método 3: configure un proxy HTTP en su servidor , luego úselo
ssh -Lpara acceder a él.fuente
Todos los
-Dresultados en un servidor SOCKS. Si su cliente no puede manejar CALCETINES, olvide-D.Debe ejecutar un proxy HTTP en el host remoto y reenviarlo con
-L:fuente
Tengo el mismo problema que quiero usar el proxy HTTP a través de SSH. Debido a que muchas aplicaciones solo admiten proxy HTTP, y el proxy HTTP es fácil de usar en el entorno de línea de comandos.
Aunque busqué en varias páginas pero no puedo encontrar una forma directa (puede ser encadenada con Polipo, Privoxy o tsocks) para hacer esto ...
Después de un día de trabajo, terminé una versión simple de Golang del proxy HTTP sobre SSH. Siéntase libre de jugar con él: mallory .
Actualmente solo admite la clave RSA (ubicada en $ HOME / .ssh / id_rsa) y la autorización de contraseña.
hostes la dirección del servidor SSH,portes22si no se cambia por el administrador. El lado del servidor es solo nuestro viejo amigosshdcon configuración cero.o con nombre de usuario
usero con nombre de usuario
usery contraseña1234Después de conectarse, un proxy HTTP servirá en localhost: 1315.
fuente
Esto abrirá el puerto 8080 en la máquina local y reenviará todos los datos al puerto 12345 en localhost, como se ve desde la máquina remota.
fuente
Ejecute Privoxy en el host remoto, luego conéctese a través de SSH a Privoxy usando la
-Lopción:-L [bind_address:] puerto: host: hostport Especifica que el puerto dado en el host local (cliente) debe ser reenviado al host y puerto dados en el lado remoto. Esta funciona asignando un socket para escuchar el puerto en el lado local, opcionalmente vinculado a la dirección de enlace especificada. Cada vez que un se realiza la conexión a este puerto, la conexión se reenvía el canal seguro, y se realiza una conexión al puerto host puerto host desde la máquina remota.( fuente de la página de manual )
fuente
También puedes usar sacacorchos (GPL)
Agregue lo siguiente a su
.ssh/configfuente