Wie erstelle ich einen SSH-Tunneling-Agenten über HTTPS?

Wie erstelle ich einen SSH-Tunneling-Agenten über HTTPS?

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!

verwandte Informationen