NGINX SSH-Stream basierend auf Hostnamen

NGINX SSH-Stream basierend auf Hostnamen

Ist es möglich, basierend auf dem Hostnamen einen Proxy für SSH zu konfigurieren?

Wie zum Beispiel:

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

Außerdem hätte ich aus Sicherheitsgründen gerne einen Multiplex-Port. Dieser lässt sich mit SSHL archivieren, sodass Port 443 für OpenVPN, HTTPS und SSH funktioniert.

Im Idealfall wäre es toll, wenn NGINX dies alles unterstützen könnte.

Danke schön.

Antwort1

Da SSH kein SNI sendet, kann Nginx SSH-Verbindungen nicht nach Hostnamen weiterleiten.

Es gibt jedoch einen Trick, mit dem der Hostname vor SSH gesendet werden kann. Sie müssen ihn auf IhremlokalMaschine.

Ändern ~/.ssh/config:

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

Auf diese Weise können Sie den Hostnamen $ssl_preread_server_namein Nginx abrufen. Anschließend können Sie ihn weiterleiten, indem Sie einige Upstreams einrichten.

verwandte Informationen