Fluxo SSH NGINX baseado no nome do host

Fluxo SSH NGINX baseado no nome do host

É possível configurar um proxy para SSH baseado no nome do host?

Como:

                                 |-> host1.domainexample1.com
                                 |-> host2.domainexample1.com
 SSH from outsite <-> Firewall <-|-> domainx.com (Default)
                                 |-> host1.domainexample2.com
                                 |-> host2.domainexample2.com

Além disso, por razões de segurança, adoraria ter uma porta multiplex. Estes podem ser arquivados com SSHL, fazendo com que a porta 443 funcione para OpenVPN, HTTPS e SSH.

Idealmente, seria ótimo se o NGINX pudesse suportar tudo isso.

Obrigado.

Responder1

Como o SSH não envia SNI, o Nginx não pode rotear conexões SSH por nome de host.

Mas existe um truque que pode enviar o nome do host antes do SSH. Você precisa configurá-lo em seulocalmáquina.

Modificar ~/.ssh/config:

Host *.domainexample1.com
    ProxyCommand openssl s_client -quiet -servername %h -connect your.firewall.ip.com

Desta forma, você pode obter o nome do host $ssl_preread_server_nameno Nginx. Então você pode encaminhá-los configurando alguns upstreams.

informação relacionada