mount sftp über den blockierten Port mit Proxy

610
Jip G

Ich entschuldige mich im Voraus, weil ich zu 90% sicher bin, dass diese Frage zuvor schon einmal gestellt wurde, aber ich kann das nicht herausfinden, entscheiden, was besser ist, und ich bin mit all dem völlig unbekannt.

Mein Problem: Im Netzwerk meiner Schule haben sie so ziemlich jeden Port außer 21, 22 und 443 blockiert. Ich möchte jedoch auf die FTP-Server-Verbindung meiner Website (die von einem Unternehmen gehostet wird) über Port 7685 (den ich nicht ändern kann) zu meinem Port ändern lokaler Computer (ein Mac). Am besten natürlich mit SFTP.

Jetzt ist meine Frage: Was wäre die sicherste und schnellste Methode, um das Sftp auf meinem lokalen Computer im Schulnetzwerk zu installieren?

Zu Hause kann ich mein Raspberry Pi als Zwischenhändler einrichten und den gesamten Verkehr von jedem Hafen aus lenken. Daher wollte ich das als Zwischenstation zwischen meinem Schulnetzwerk verwenden. Ich werde es so einrichten, dass es Datenverkehr von meinem lokalen Computer- / Schulnetzwerk an Port 443 empfängt und an den FTP-Server an Port 7685 weiterleitet.

Ich kann mir zwei Möglichkeiten vorstellen: 1) Anbringen des FTP-Protokolls an meinen RPi über Port 7685 und dann Anhängen meines RPi an meinen Computer im Schulnetzwerk über Port 443, aber ich befürchte, dass dies die Verbindung verlangsamen würde (aufgrund des zusätzlichen Sprungs). Oder 2) Verwenden meines RPi als Proxy (mit so genannten SOCKS?), Um mein Sftp direkt auf meinem Computer im Schulnetzwerk zu installieren, aber ich kann nicht herausfinden, wie das funktioniert.

Oder gibt es einen anderen Weg, den ich nicht sehe?

Dinge, die ich ändern kann: Ich kann alles mit meinem RPi zu Hause und allen Netzwerkeinstellungen / Firewall-Einstellungen machen. Einstellungen meines lokalen Computers

Dinge, die ich nicht ändern kann: Der FTP-Server-Port / die FTP-Einstellungen und die Netzwerkeinstellungen meiner Schule. (duh)

Vielen Dank im Voraus! (Wenn es schon eine Antwort gibt, schicke sie mir bitte, dann lösche ich diesen Beitrag)

-1
Ich habe diese beiden Links gefunden, die scheinbar das tun, was ich oben beschrieben habe. Ich werde sie ausprobieren und die Ergebnisse veröffentlichen. [Ilya Prokins Blog] (https://iprokin.github.io/posts/2015-08-22-notes-on-ssh-tunneling-and-sshfs.html) [The Lone Coder] (https: // www. pegasoft.ca/coder/coder_june_2015.html) Jip G vor 5 Jahren 0

1 Antwort auf die Frage

0
Jip G

Die hier beschriebene Lösung hat funktioniert.

Um den Proxy einzurichten, verwenden Sie

ssh -L LOCAL_PORT:TARGET_HOST:TARGET_PORT INTERMEDIATE_USERNAME@INTERMEDIATE_HOST -p INTERMEDIATE_PORT -N 

Mit:
LOCAL_PORTDer Port, an den
TARGET_HOSTder Host, auf den Sie zugreifen möchten (in meinem Fall der FTP-Dienst meiner Website),
TARGET_PORTden Port des Hosts, auf den Sie zugreifen möchten (in meinem Fall 7685), auf
INTERMEDIATE_USERNAMEden Benutzernamen, den ich zum Anmelden bei meinem RPi verwenden möchte, ist / Mittelsmann
INTERMEDIATE_HOSTdie adres meiner RPi zu Hause (oder was auch immer Sie als Vermittler verwenden)
INTERMEDIATE_PORTdie Port ich meine RPi / Vermittler (in meinem Fall 443) Zugriff verwenden, um
-Lzu zeigen, wir einen Anschluss von lokalen sind Spedition
-NÖffnen einer Shell - Anmeldung zu verhindern, beiINTERMEDIATE_HOST

Beispiel:

ssh -L 8080:ftp.host.com:7685 pi@home.com -p 443 -N 

Dies muss weiterhin laufen, daher müssen Sie die folgenden Schritte in einem anderen Fenster ausführen (oder verwenden -f, aber Sie müssen killden Proxy manuell stoppen, siehe diese Frage ).

Dann verbinden Sie SSH mit REMOTE_HOST

ssh -p LOCAL_PORT TARGET_USERNAME@localhost 

Oder in meinem Fall, um SFTP mit SSHFS zu mounten

sshfs -p LOCAL_HOST TARGET_USERNAME@localhost:/TARGET_PATH LOCAL_PATH 

Mit:
TARGET_USERNAMEist der Benutzername meines Hosts
TARGET_PATHder Pfad, den ich für meinen FTP-Dienst verwenden
LOCAL_PATHmuss, um den FTP-Pfad auf dem lokalen Computer bereitzustellen

Jedes Feedback wird sehr geschätzt!