Подключиться к общему ресурсу Windows с Ubuntu Server, используя обратный туннель SSH
Мне не хватает части этой головоломки, поэтому я надеюсь, что кто-нибудь может мне помочь.
НАСТРОЙКА: Мой компьютер с Windows O/S работает за NAT/Firewall на работе, и я не могу открыть порты для пересылки. Дома у меня есть сервер Ubuntu. Я могу использовать ssh-клиент (putty) для подключения с компьютера Windows на работе к моему Ubuntu Server дома. Используя port forward in putty, я создал сетевой ресурс на моем компьютере с Windows, который подключен через smb к сетевому ресурсу на моем Ubuntu Server дома.
Проблема: Я хотел бы ОБРАТИТЬ общий ресурс smb, описанный выше, используя обратное туннельное соединение SSH.
Что я имею в виду: используйте обратный SSH с портами SMB (445) для подключения и подключения к общему ресурсу Windows (за NAT) с сервера Ubuntu.
Вопросы:
Как мне настроить мой обратный SSH-туннель в замазке? (опять я понимаю обратный SSH). Прямо сейчас под опцией туннелирования в Putty у меня есть порт 445 в качестве источника, localhost:445 в качестве пункта назначения и выбранные параметры REMOTE & IPV4. Это правильно?
Как только я получу правильную настройку обратного туннеля SSH для SMB, как мне подключиться и смонтировать общий ресурс Windows, который находится за NAT ОТ моего сервера Ubuntu? Таким же образом, если Ubuntu Server должен был смонтировать общий ресурс с компьютером Windows в той же сети? sudo mount -t cifs //IPADRESS/WinShare /mnt/UbuntuShare -o username="Имя пользователя", домен =
Если у вас есть какие-либо вопросы, пожалуйста, дайте мне знать, и я свяжусь с вами как можно скорее!
Спасибо Бен
...
1 ответ
Ну, я разобрался с ответом на свой вопрос. Это решает вопрос "Как подключиться к общему ресурсу с помощью SSH Reverse". Если вы не знаете, что такое SSH Reverse, не обращайте внимания на это решение!
Моя настройка: Компьютер A = Ubuntu Server, на котором работает SSH Server дома. (Разная сеть)
Компьютер B = Рабочий стол Windows за рабочим брандмауэром (не может открывать порты) (различная сеть)
Как я уже сказал, я не могу открыть порты для компьютера B, и мне нужен компьютер A, чтобы иметь возможность монтировать (безопасно) общий ресурс на компьютере B.
Что это значит: для обмена файлами между компьютером A и компьютером B я не могу использовать FTP, SFTP или даже SSH с использованием переадресации портов, поскольку порты на компьютере B не открыты!
ОДНАКО, есть решение для этого! Это называется SSH Reverse. Я не буду вдаваться в подробности, но для моей установки на компьютере A установлен SSH-сервер, а на компьютере B есть клиент (например, putty / plink). Помните, что цель состоит в том, чтобы обмениваться файлами с компьютером B с компьютера A, поэтому в этом сценарии вы ДОЛЖНЫ изменить SSH.
Итак, сначала убедитесь, что вы можете общаться / подключаться к вашему SSH-серверу на компьютере A с вашим клиентом (я использую замазку) на компьютере B. Работает? Отлично движется дальше ...
Теперь вам нужно настроить Reverse Port Forward в putty (на компьютере B), выбрав сохраненное соединение и перейдя в опцию Tunnel. Далее вам нужно "Добавить новый порт вперед".
Исходным портом может быть любой открытый порт. Если вы не уверены, что используете: 5454. Пункт назначения должен быть: localhost: 445 ПРИМЕЧАНИЕ. Пункт назначения НЕ ДОЛЖЕН быть localhost, фактически localhost может выводиться как "Host Down". Это может быть любой IP в сети. Пример 192.168.1.1:445 (ваш собственный IP)
Убедитесь, что выбраны кнопка "Пульт" и "Авто". Затем нажмите кнопку "Добавить" и убедитесь, что вы сохранили настройки для этого соединения, прежде чем открывать это соединение. Теперь подключитесь к вашему SSH-серверу (компьютер A) .
Теперь не забудьте создать папку монтирования (любую папку, в которой будет отображаться общий ресурс монтирования).
Теперь вы сможете смонтировать общий ресурс на компьютер B с компьютером A, не открывая никаких портов.
Пример кода монтирования:
sudo mount -t cifs //localhost/sambashare /mountpoint -o port=5454,username="",password="",domain="optional"