Ich habe einen Server mit nur einer öffentlichen IP, bei dem der Zugriff nur auf Port 443 beschränkt ist. Ich habe einen Apache-Reverse-Proxy für den Zugriff auf https-Webseiten konfiguriert. Ich habe konfigurierthttps://one.example.comfür Website Nr. 1 undhttps://two.example.comfür Website Nr. 2. Ich möchte den Befehl ssh three.example.com für eine SSH-Sitzung zulassen. Wie kann ich das tun?
Antwort1
SSH kann auf diese Weise nicht per Reverse-Proxy verwendet werden. Konfigurieren Sie einen VPN-Server und erhalten Sie über das VPN Zugriff auf Hosts in Ihrem internen Netzwerk.
Zum Beispiel:OpenVPNwird für diesen Zweck häufig verwendet.
Antwort2
Mit Putty können Sie einen HTTP-Proxy konfigurieren:
Vielleicht können Sie versuchen, Apache auch als normalen Proxy zu konfigurieren, der nur eine Verbindung zu Ihrem Host über Port 22 zulässt.
Antwort3
Sie benötigen einen Proxy vor Apache, um SSH
zwischen den HTTPS
beiden Typen zu unterscheiden, die konzeptionell völlig unterschiedlich sind ( SSH
er zeigt sein Banner an und wartet auf eine Antwort, HTTPS
lauscht auf die Initiative des Clients).
SSL-Zertifikatist das, wonach Sie suchen. Es bindet an Port 443 und leitet SSH
den Verkehr an localhost:22 und HTTPS
den Verkehr an localhost:443 (oder die von Ihnen konfigurierte IP-Adresse) um. Einzustellende Optionen:
OPTIONS="--user nobody \
--pidfile $PIDFILE \
-p $Public_IP_Address_Here:443 \
--ssl 127.0.0.1:443 \
--ssh 127.0.0.1:22"