Wie kann ein Reverse-SSH-Tunnel remote über das Web instanziiert werden?

266
BlandCorporation

Ich habe einen Remote-Server hinter einer Firewall und einem NAT ohne externe IP-Adresse. Ich möchte in der Lage sein, eine umgekehrte SSH-Verbindung mit diesem Server herzustellen. Das Problem besteht darin, dass der Remote-Server auf meinen Befehl die umgekehrte SSH-Verbindung zu meinem lokalen Computer instanziiert.

Angenommen, ich habe Superuser-Berechtigungen auf dem Remote-Server und dass der Remote-Server im Standardzustand nur einen einfachen Webzugriff hat. Wie kann ich sinnvoll mit dem Server kommunizieren, damit er eine umgekehrte SSH-Verbindung instanziiert?

Stellen Sie sich als äußerst grobe Lösung vor, eine Webseite zu erstellen, die kontinuierlich vom Remote-Server überwacht wird und die Webseite auf irgendeine Weise geändert wird, um mit dem Remote-Server zu kommunizieren, um eine umgekehrte SSH-Verbindung zu instanziieren.

Was wäre ein vernünftigerer Ansatz? Könnte die Kommunikation über ein dezentrales System wie BitTorrent hergestellt werden?

0

1 Antwort auf die Frage

1
ivanivan

Holen Sie sich den Aufwickeldraht und das Klebeband heraus, aber das habe ich in der Vergangenheit getan

  1. Fügen Sie auf einigen Webservern eine Datei ein.
  2. Lassen Sie auf dem Server, auf dem Sie die Verbindung herstellen möchten, diese Datei in einem Skript alle X Minuten oder zu bestimmten Tageszeiten von cron laufen
  3. Wenn die Datei nicht vorhanden ist (oder wenn es Ihnen überlassen wird), starten Sie eine Bildschirmsitzung, die an einen beliebigen Host gesendet wird, und authentifizieren und den Tunnel einrichten