@Serbli

Как настроить ssh туннель для smb?

Добрый день!
Имеется:
1) арендованный сервер на windows core (без графического интерфейса)
2) провайдер с блокировкой портов 135-139, 445 (сменить нельзя)
3) smb шара на данном сервере (работает по сети У ДРУГИХ ПРОВАЙДЕРОВ. Нужен именно этот протокол)
4) ssh доступ на сервер
5) RDP доступ на сервер
6) клиенты на windows

Необходимо:
Организовать доступ на smb шару через провайдера с блокировкой портов без сторонних ресурсов.
На сколько я понимаю: необходимо сделать туннель для подключения, в принципе для работы должно быть достаточно 445 порта.
Что было испробовано: https://habr.com/ru/post/528414/ и т.п. инструкции (в принципе все они копипаст с одной и той же англоязычной)
На данный момент подключится не удается.
VPN работает, но в данной ситуации как решение не рассматривается и ресурсов на сервере для него нет.
Побочная проблема: абсолютно не понимаю работу ssh. Примеры по подробнее, пожалуйста!
На сколько понимаю нужно что-то типа: ssh -L 445:127.0.0.1:445 user@remoteserver но к сожалению мне это не помогает. Или есть варианты проще?
  • Вопрос задан
  • 515 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
В ssh есть три варианта проброски портов.
-L lport:remote.host:rport задаёт проброску клиентского порта, т.е.
1. клиент SSH слушает порт lport на своей машине. По умолчанию на всех сетевых интерфейсах, но можно указать желаемый адрес, который будет слушаться, так: bind.address:lport:remote.host:rport
2. когда к этому порту кто-то коннектится, клиент сообщает серверу
3. сервер коннектится на remote.host:rport
4. В дальнейшем данные пробрасываются через этот туннель.

-R rport:local.host:lport работает наоборот
1. сервер SSH слушает порт rport на своей стороне. По умолчанию на всех сетевых интерфейсах, но можно указать желаемый адрес, который будет слушаться, так: bind.address:rport:local.host:lport
2. когда к этому порту кто-то коннектится, сервер уведомляет клиента
3. клиент коннектится на local.host:lport
4. В дальнейшем данные пробрасываются через этот туннель

И последний, самый практичный, но самый трудно контролируемый.
-D lport или -D bind.address:lport
1. клиент слушает порт lport на своей стороне
2. когда к этому порту кто-то коннектится, клиент пробрасывает соединение на ssh сервер
3. ssh сервер отвечает по протоколу прокси SOCKS4/SOCKS5, и выполняет дальнейшие соединения в зависимости от желаний подключившегося приложения.
Т.е. чтобы это работало, нужно чтобы приложение умело работать с SOCKS-прокси.

Не помогает - значит нужно отлаживать. Я не вполне понял, где расположена smb-шара - на том же хосте, что и ssh сервер? Или на другом? Также стоит убедиться, что соединение с ssh сервером устанавливается нормально.
Наконец, стоит выделить под такие туннели отдельного пользователя на сервере, и ограничить его в правах на всё, кроме использования туннеля.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Drno
Samba ненадо открывать в интернет... это плохо. Как и винду в целом...
SSH обычно для линукс используется...
Воспользуйтесь VPN, там что нет ресурсов для клиента openVPN например?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы