смонтировать sftp через заблокированный порт через прокси

461
Jip G

Я заранее извинюсь, потому что я на 90% уверен, что этот вопрос уже задавался где-то раньше, но я не могу понять это, решить, что лучше, и я совершенно не знаком со всем этим.

Моя проблема: в сети моей школы они заблокировали почти все порты, кроме 21, 22 и 443, но я хочу получить доступ к соединению FTP-сервера моего веб-сайта (размещенного какой-то компанией) через порт 7685 (который я не могу изменить) к моему локальная машина (Mac). Желательно, конечно, с использованием SFTP.

Теперь мой вопрос: какой самый безопасный и быстрый способ установить sftp на мою локальную машину в школьной сети?

Дома я могу настроить свой Raspberry Pi на использование в качестве посредника и направлять весь трафик из любого порта, поэтому моя идея заключалась в том, чтобы использовать его в качестве прокси между сетью моей школы. Поэтому я настрою его на прием трафика из локальной машины / школьной сети через порт 443 и направлю его на FTP-сервер через порт 7685.

Я могу представить две возможности: 1) подключить FTP к моему RPi через порт 7685, а затем подключить мой RPi к моей машине в школьной сети через порт 443, но я боюсь, что это замедлит соединение (из-за дополнительного скачка). Или 2) использование моего RPi в качестве прокси (с так называемым SOCKS?) Для монтирования моего sftp непосредственно на мою машину в школьной сети, но я не могу понять, как это работает.

Или есть другой способ, которого я не вижу?

Вещи, которые я могу изменить: я могу делать все с моим RPi дома и всеми сетевыми настройками / настройками брандмауэра. Настройки моего локального компьютера.

Вещи, которые я не могу изменить: порт / настройки FTP-сервера и сетевые настройки моей школы. (Дух)

Спасибо заранее! (если где-то уже есть ответ, пришлите его мне, тогда я удалю этот пост)

-1
Я нашел эти две ссылки, которые, кажется, делают то, что я описал выше. Я опробую их и опубликую результаты. [Блог Ильи Прокина] (https://iprokin.github.io/posts/2015-08-22-notes-on-ssh-tunneling-and-sshfs.html) [Одинокий кодер] (https: // www. pegasoft.ca/coder/coder_june_2015.html) Jip G 5 лет назад 0

1 ответ на вопрос

0
Jip G

Решение, описанное здесь, сработало.

Для настройки прокси используйте

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

С:
LOCAL_PORTявляясь портом для пересылки с локальной машины
TARGET_HOSTна хост, к которому вы хотите получить доступ (в моем случае служба FTP моего сайта),
TARGET_PORTна порт хоста, к
INTERMEDIATE_USERNAMEкоторому вы хотите получить доступ (в моем случае 7685), имя пользователя, которое я использую для входа в мой RPi /
INTERMEDIATE_HOSTmiddleman адрес моего RPi дома (или того, что вы используете в качестве посредника)
INTERMEDIATE_PORT- порт, который я использую для доступа к своему RPi / посреднику (в моем случае 443),
-Lчтобы указать, что мы перенаправляем порт из локального,
-Nчтобы предотвратить открытие входа в оболочку вINTERMEDIATE_HOST

Пример:

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

Это должно будет продолжаться, поэтому следующее вам нужно сделать в другом окне (или вы можете использовать -f, но вам придется вручную использовать, killчтобы остановить прокси, см. Этот вопрос )

Затем подключить SSH к REMOTE_HOST использовать

ssh -p LOCAL_PORT TARGET_USERNAME@localhost 

Или, в моем случае, для монтирования SFTP используйте SSHFS

sshfs -p LOCAL_HOST TARGET_USERNAME@localhost:/TARGET_PATH LOCAL_PATH 

С:
TARGET_USERNAMEбудучи именем пользователя моего хоста,
TARGET_PATHпуть, который я должен использовать для своей службы FTP,
LOCAL_PATHпуть для монтирования FTP на локальном компьютере.

Любая обратная связь с благодарностью!