tunel - ¿Alguien puede explicar el túnel SSH de una manera simple?
ssh tunnel ubuntu (4)
1) Suponiendo que te conectas de casa a foo, necesitas un túnel inverso (-R)
ssh -R 8080:localhost:3000 foo.mycompany.com
Esto permitirá que los procesos que se ejecutan en foo se conecten a localhost:8080
y realmente hablen a la computadora de su casa en el puerto 3000. Si desea que otras computadoras en su trabajo puedan conectarse a foo: 8080 y acceder a la computadora de su casa en el puerto 3000, entonces necesitas
ssh -R 0.0.0.0:8080:localhost:3000 foo.mycompany.com
pero para que esto funcione también necesitas esta opción para foo''s sshd_config
GatewayPorts yes
2) La mejor manera de crear un proxy http con ssh es con calcetines. Primero conéctese con
ssh -D 8888 foo.company.com
luego, vaya a la configuración de conexión de su navegador y habilite la conexión proxy, seleccione socks4 / 5 y host: localhost, puerto 8888. Luego, simplemente escriba http://bar.mycompany.com
en la barra de direcciones de su navegador.
3) Ahora necesita un reenvío de puerto local (-L).
ssh -L 3333:db.mycompany.com:3306 foo.mycompany.com
Esto significa que podrá conectarse a localhost:3333
desde la computadora de su hogar y todo se reenviará a db.mycompany.com:3306
como si la conexión hubiera sido hecha por foo.mycompany.com
. Host db verá foo como el cliente que se conecta, por lo que debes iniciar sesión con el mismo nombre de usuario y contraseña que utilizas cuando trabajas desde foo.
Agregar el indicador -g permitirá que otras computadoras de su red doméstica se conecten al puerto 3333 de su computadora y realmente accedan a db: 3306.
Aunque utilizo algunos alias para hacer el túnel ssh
o el túnel inverso, nunca entiendo cómo funciona. ¿Alguien sabe cómo explicarlo de una manera muy simple?
Creo que los 3 usos principales son:
Primero, puedo usar la computadora de mi casa para foo.mycompany.com
ssh a foo.mycompany.com
, sin usar ninguna contraseña ( foo
es un servidor en el trabajo)
1) ¿Cómo hacer que foo.mycompany.com:8080
vaya a la computadora local de mi localhost:3000
?
2) Si estoy en casa, no puedo acceder a http://bar.mycompany.com
, pero ¿cómo puedo acceder a la bar
, cómo hacer que la computadora hogareña pueda acceder a http://bar.mycompany.com
?
3) Si estoy en casa, no puedo acceder a MySQL db en db.mycompany.com
, pero foo
puede, cómo hacer que sea posible acceder a db.mycompany.com
también utilizando el túnel ssh
.
¿Se puede explicar en términos muy simples? ¿Hay realmente algún otro uso popular además de estos 3? Gracias.
En primer lugar explicaré SSH:
SSH es un shell de inicio de sesión remoto que le ayuda a conectar máquinas remotas mediante una conexión cifrada. Así que una vez que hizo la conexión ssh a cualquier host remoto, la conexión entre los hosts es segura y está encriptada.
El túnel SSH está enrutando su tráfico a través de una conexión segura SSH.
En palabras simples, el túnel SSH no es más que una conexión que está encapsulada por otra conexión. Tomando esto como una ventaja, hacemos túneles usando el cliente SSH.
El siguiente comando lo ayuda a crear un proxy de calcetines simple
ssh -D 8080 user@sshserverip
Lea la página del manual, específicamente las opciones -L, -R y -D. No creo que alguien reescribiendo esto, y posiblemente introduciendo errores, sea útil. Si no lo entiende, podría hacer preguntas más específicas.
-D proporciona un proxy SOCKS, que es otra aplicación útil del túnel ssh.
Túneles SSH es muy simple. Abre una toma de audición en un extremo. Cada vez que alguien se conecta a esa toma de audición, abre una conexión correspondiente desde el otro extremo a la ubicación configurada, luego reenvía toda la información en ambos sentidos entre los dos, a través del enlace SSH.