
Wie kann SSH zugelassen werden, wenn das Netzwerk auf allen Ports außer HTTP und HTTPS blockiert ist?
Ich möchte wissen, wie ich einen SSH-Tunnel erstellen kann, der mir SSH über 443 ermöglicht und auch nach dem Neustart des Servers funktioniert.
Ich versuche, Laravel Forge zum Konfigurieren des Servers zu verwenden. Wenn die SSH-Ports jedoch blockiert sind, funktioniert Laravel Forge nicht. Daher versuche ich, einen Weg zu finden, SSH für Laravel Forge über einen Tunnelagenten zuzulassen.
Antwort1
Wenn Port 443 vom Webserver verwendet wird, können Sie ihn nicht für etwas anderes wiederverwenden (tatsächlich gibt es Möglichkeiten, so etwas zu tun). Ich würde vorschlagen, dass der Server eine ausgehende SSH-Verbindung zu einer anderen Box herstellt. Die Firewall-Richtlinie lässt dies höchstwahrscheinlich zu.
Machen Sie so etwas:
ssh -L 2222:localhost:22 some.other.server
(Vielleicht können Sie es sogar mithilfe eines Dienstes dauerhaft machen.https://gist.github.com/drmalex07/c0f9304deea566842490)
Melden Sie sich dann bei some.other.server an und führen Sie Folgendes aus:
ssh -p 2222 webserveruser@localhost
Oder lassen Sie Ihre Automatisierung eine Verbindung zu diesem Port herstellen.
Um noch einen Schritt weiter zu gehen, können Sie die Sprungoption nutzen, um direkt zu springendurchder Zwischenserver. Ihre .ssh/config könnte ungefähr so aussehen.
Host intermediate.server
HostName intermediate.server
User someuser
IdentityFile ~/.ssh/id_rsa
Host webserver
HostName localhost
User someuser
Port 2222
IdentityFile ~/.ssh/id_rsa
ProxyJump intermediate.server
Damit können Sie Folgendes effektiv tun:
ssh webserver
Ich muss ssh einfach lieben!