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_name
in Nginx abrufen. Anschließend können Sie ihn weiterleiten, indem Sie einige Upstreams einrichten.