É 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_name
no Nginx. Então você pode encaminhá-los configurando alguns upstreams.