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
?-D
especifica 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
-D
tú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
torsocks
contenedor (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 -L
para acceder a él.fuente
Todos los
-D
resultados 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.
host
es la dirección del servidor SSH,port
es22
si no se cambia por el administrador. El lado del servidor es solo nuestro viejo amigosshd
con configuración cero.o con nombre de usuario
user
o con nombre de usuario
user
y contraseña1234
Despué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
-L
opción:( fuente de la página de manual )
fuente
También puedes usar sacacorchos (GPL)
Agregue lo siguiente a su
.ssh/config
fuente