1 votos

Haciendo una VPN SSH

Entonces, al usar ssh, se conectará a un servidor escribiendo ssh User@PrivateIP ¿cómo sería posible convertir ese código en una pieza de código que funciona como una VPN (por lo que, por ejemplo, busque google desde una geolocalización diferente)? . FYI: al conectarse me refiero a que se conecta a una computadora propia y no a un servidor VPN suministrado.

0voto

Spas Spasov Puntos 305

No es exactamente la VPN, pero podría ser suficiente en la mayoría de los casos. Puede crear una conexión ssh con la dinámica de reenvío de puerto para crear el proxy de socks:

ssh -D 9050 user@sshserver -fTNC
  • -D [bind_address:]port Especifica un local de "dinámico" en el nivel de aplicación de reenvío de puerto... cada vez que se realiza una conexión a este puerto, la conexión es enviado a través de un canal seguro, y el protocolo de aplicación se utiliza para determinar dónde conectar desde la máquina remota. Actualmente la SOCKS4 y SOCKS5 son compatibles con los protocolos... leer más en man ssh.

  • Las opciones -fTNC permitirá la compresión y empuje la conexión en el fondo.

  • Utilizar opcionalmente autossh en lugar de ssh.

El descanso que usted necesita hacer es decirle a tus aplicaciones para uso localhost:9050 como proxy socks. Aquí están algunas referencias dedicado a esta tarea:


Otra solución que está más cerca de VPN es sshuttle, que funciona a través de ssh. He aquí su descripción:

sshuttle: donde proxy transparente cumple VPN cumple con ssh

Hasta donde yo sé, sshuttle es el único programa que resuelve los siguientes casos:

  • La máquina cliente (o router) es Linux, FreeBSD, o MacOS.
  • Usted tiene acceso a una red remota a través de ssh.
  • Usted no necesariamente tiene acceso de administrador en la red remota.
  • La red de control remoto no tiene VPN, o sólo los tontos/complejos protocolos de VPN (IPsec, PPTP, etc). O tal vez usted es el admin y se acabo frustrado con el horrible estado de VPN herramientas.
  • Usted no desea crear un ssh port forward para cada uno de los host/puerto en la red remota.
  • Te odio openssh reenvío de puerto, porque es al azar lento y/o estúpido.
  • Usted no puede utilizar openssh PermitTunnel característica, ya que está desactivado por defecto en los servidores openssh; además de que hace TCP-TCP, que ha terrible el rendimiento (ver más abajo).

Está disponible en el repositorio de Ubuntu, así que usted puede instalar y comenzar su examen por el comando:

sudo apt install sshuttle

También es posible instalar en un virtualenv como un usuario no-root. Una vez que está instalado, puede utilizar:

 sshuttle --dns -r user@sshserver 0.0.0.0/0

Este comando va a reenviar todo el tráfico, incluyendo las consultas DNS se le redirigirá a través del servidor DNS del servidor al que se conecte.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: