Hola, esta es una situación en la que tengo un servidor en un centro de datos corporativo para un proyecto. Tengo un acceso SSH a esta máquina en el puerto 22. Hay algunas máquinas virtuales que se ejecutan en este servidor y luego, detrás de todo, muchos otros sistemas operativos están funcionando. Ahora, como estoy detrás del firewall de los centros de datos, mi supervisor me preguntó si puedo hacer algo por lo que puedo dar acceso directo a Internet a muchas personas a estas máquinas virtuales. Sé que si se me permitiera obtener tráfico en un puerto que no sea el 22, entonces puedo hacer un reenvío de puerto. Pero como no se me permite esto, ¿qué puede ser una solución en este caso? Las personas a las que les gustaría conectarse pueden ser completamente idiotas. Quienes pueden ser felices simplemente abriendo masilla en sus máquinas o incluso pueden ser filezilla.
No tengo un cortafuegos en mis manos ni ningún otro puerto que no sea 22 abierto y, de hecho, incluso si solicito que no permitan abrir.2 veces, SSH no es algo que mi supervisor quiera.
Respuestas:
Debe abrir el túnel ssh desde su computadora al servidor en el centro de datos. Vamos a nombrar esto como "servidor1". Si está utilizando openssh, simplemente puede ejecutar
Esto abrirá la conexión desde su computadora en el puerto 8080 al servidor, puerto 8080, omitiendo el firewall en el medio. Asumiendo que su apache está escuchando en el puerto 8080. El formato de reenvío de puerto está escuchando IP: puerto local: dirección remota: puerto remoto. Por supuesto, para un solo servidor puedes usar también
Tenga en cuenta que el parámetro localhost en -L es relativo al servidor1. En otras palabras, el servidor está viendo conexiones provenientes de localhost, cuando en realidad esas provienen de su computadora a través de una conexión ssh.
También necesitas parámetro
en la configuración ssh del servidor (normalmente / etc / ssh / sshd_config).
Después de esto, otros pueden conectarse a su computadora en el puerto 8080 para obtener la conexión a través de Apache Reverse Proxy. Si necesita un proxy general (para que los usuarios puedan elegir la dirección, no solo direcciones específicas en la configuración de Apache), debe instalar squid en el servidor1 y usar el túnel ssh para el puerto de squid.
fuente
ssh -L0.0.0.0:8080:localhost:8080 you_username@server1
, si la conexión seguirá atravesando el puerto 22 del firewall (porque si eso no sucede, no puedo hacer nada) y el túnel ssh se establecería entre la máquina local y la máquina remota. en los puertos especificados pero todo el tráfico continuaría (puerto 22) en el firewall.ssh -L0.0.0.0:8080:remote_server_address:8080 you_username@server1
, quiero saber qué se puede poner como remote_server_address es que la IP de la máquina interna en la que quiero usar server1 como una intermedia. ¿He entendido esto correctamente?Puede ser que puedas usar algo como SshMeIn . Es un sistema web de código abierto que hará un túnel ssh a través de firewalls, ni siquiera necesita abrir los puertos.
fuente