Proxy inverso SSH

4

Estoy configurando un servidor Gitlab ( https://about.gitlab.com/ ) dentro de una máquina virtual usando KVM en un host Ubuntu 14.04. Mi universidad nos cobra por cada dirección IP externa, por lo que no puedo usar redes en puente y hacer que cada máquina virtual hable directamente con el mundo exterior. En cambio, tengo que usar NAT y la máquina host debe manejar todo el tráfico entrante.

Para HTTP, este no es un gran problema. Configuré un proxy inverso usando Nginx y dnsmaq para dirigir el tráfico basado en el subdominio (por ejemplo, git.example.com irá al servidor de Gitlab). Pero el servidor Gitlab también necesita conexiones SSH entrantes para que git funcione. Llegué a descubrir que Nginx solo parece proporcionar proxy inverso para conexiones HTTP / S y no puedo usarlo para SSH. También es importante que el servidor Gitlab esté disponible en el puerto 22, ya que de lo contrario todos los usuarios tendrían que recibir instrucciones para usar un puerto diferente.

¿Alguien sabe si puedo usar Apache con mod_proxy para esta u otra solución? La configuración ideal dirigiría el tráfico SSH basado en el subdominio de manera que ssh example.comvaya al host, ssh git.example.comvaya al servidor git, etc.

oceanhug
fuente
ssh se conecta a IP: puerto, no hay nombre de host en la solicitud para distinguir example.com y git.example.com si tienen la misma IP.
Alexey Ten
Si gracias. Me doy cuenta de que el protocolo SSH es bastante diferente de HTTP, por lo que probablemente solo tenga que ver con el enrutamiento basado en el puerto.
oceanhug
2
ver mi trabajo github.com/tg123/sshpiper
farmer1992