Как создать SSH-туннель между сервером Linux и клиентом Windows

Идея создания SSH туннель - зашифровать все соединения (независимо, например, если вы переходите на страницу https или http) и подключаетесь к Интернет через безопасный канал. Этот "безопасный" канал - не более чем сервер настроен для этой цели. Этот сервер может быть, например, у вас дома.


«Недостатком» этого метода является то, что вам всегда необходимо, чтобы этот компьютер был включен и правильно настроен для работы в качестве SSH-сервера, но он позволяет существенно повысить безопасность вашего соединения и даже избежать ограничений на соединение, налагаемых администраторами сети. (например, ваша работа).

Я слышал, вы спрашиваете: может ли это мне действительно помочь? Что ж, допустим следующий сценарий: вы находитесь в интернет-кафе или ресторане с бесплатным Wi-Fi и вам нужно сделать банковский перевод или другую важную операцию. Конечно, всегда рекомендуется проводить такие операции в безопасной среде. Однако есть решение: туннель SSH. Таким образом, мы можем подключиться к Интернету через наш «безопасный» сервер.

Этот метод также полезен для обхода ограничений, накладываемых на соединения многих рабочих сред. Не можете получить доступ к YouTube с работы? Что ж, туннель SSH может быть решением, поскольку все запросы будут выполняться через ваш «безопасный» сервер. Другими словами, поскольку IP-адрес вашего защищенного сервера не заблокирован (да, с другой стороны, YouTube), вы сможете «обойти» это ограничение (не имея доступа к YouTube), поскольку для администратора сети вашей компании ваша машина общалась только с вашим «безопасным» сервером и не подозревала, что через него вы действительно просматриваете множество страниц.

В этом руководстве мы собираемся объяснить «типичный» случай: сервер Linux, клиент Windows.

Настроить сервер Linux

1.- Установите SSH-сервер. Для этого я открыл терминал и запустил:

En Ubuntu:

sudo apt-get установить openssh-сервер

En Арка:

пакман -S openssh

En Fedora:

yum -y установить openssh-server

Готов. Теперь вы сможете получить доступ к Ubuntu (SSH-сервер) с помощью SSH-клиента.

2.- После установки полезно просмотреть файл конфигурации:

sudo nano / etc / ssh / sshd_config

Из этого файла вы сможете легко настроить свой SSH-сервер. Я рекомендую изменить только 2 параметра: порт и allowusers.

Чтобы избежать возможных атак, рекомендуется изменить порт, который будет использовать SSH. По умолчанию он имеет значение 22, вы можете выбрать другой, который вам больше всего подходит (для целей этого урока мы выбрали 443, но это может быть любое другое).

Параметр Allowusers позволяет ограничить доступ по пользователю и, при необходимости, по хосту, с которого вы можете подключиться. В следующем примере ограничивается доступ к серверу SSH, так что только такие-то пользователи могут делать это с хостов 10.1.1.1 и 10.2.2.1.

AllowUsers so and so@10.1.1.1 mengano@10.1.1.1 so and so@10.2.2.1 mengano@10.2.2.1

Настроить роутер

Если ваш сервер находится за маршрутизатором, необходимо настроить последний так, чтобы он не блокировал входящие соединения. Точнее, вам нужно настроить.

Прежде чем перейти к сути и продемонстрировать необходимую конфигурацию, представляется разумным немного пояснить, из чего состоит перенаправление портов.

Предположим, у вас есть локальная сеть из 3 машин, каждая из которых находится за маршрутизатором. Как входящее соединение (от SSH, как в нашем случае) взаимодействует с машиной 1 в нашей локальной сети? Не забывайте, что «извне» 3 машины, хотя и имеют локальные IP-адреса, имеют общий публичный IP-адрес, через который они подключаются к Интернету.

Решением вышеупомянутой проблемы является переадресация портов. Таким образом, когда входящие соединения получены на порт X нашего общедоступного IP-адреса, маршрутизатор направит его на соответствующий компьютер. Таким образом, всякий раз, когда мы подключаемся через этот порт, мы знаем, что маршрутизатор собирается перенаправить нас (следовательно, перенаправить порт) на соответствующий компьютер. Все это, очевидно, нужно настроить в роутере.

Конфигурация переадресации портов немного отличается в зависимости от используемого маршрутизатора. Самый практичный - это посетить portforward.com, выберите модель используемого маршрутизатора и выполните описанные там действия.

Настроить клиент Windows

Для подключения из Windows практично использовать инструмент PuTTY в качестве клиента SSH.

1.- Первый шаг - скачать PuTTY

Как вы можете видеть на странице загрузки PuTTY, доступно несколько версий. Рекомендую скачать портативную версию программы: putty.exe. Преимущество выбора портативной версии заключается в том, что вы всегда можете носить ее с собой на флеш-накопителе и запускать программу с любого компьютера, где бы вы ни находились.

2.- Откройте PuTTY и укажите IP-адрес (общедоступный) и порт сервера, к которому должен подключиться SSH-клиент. Как узнать публичный IP вашего сервера? Просто погуглите "какой у меня публичный IP-адрес", чтобы найти тысячи страниц, предлагающих эту услугу.

3.- В случае, если «клиент» находится за прокси, не забудьте правильно его настроить. Если вы не уверены, какие данные вводить, откройте Internet Explorer и выберите «Инструменты»> «Подключения»> «Настройки локальной сети»> «Дополнительно». Скопируйте и вставьте данные, которые появляются в PuTTY, как показано на изображении ниже. В некоторых случаях может потребоваться ввести имя пользователя и пароль.

4.- Вам необходимо ввести данные для «локального» перенаправления портов, чтобы построить туннель SSH. Перейдите в Connection> SSH> Tunnels. Идея здесь в том, что мы должны указать PuTTY, какие соединения нужно «перенаправить» на наш защищенный сервер. Для этого мы должны выбрать порт.

Я рекомендую, особенно если машина находится за прокси-сервером, выбрать порт 443, поскольку именно он используется SSL для безопасных соединений, что затруднит администратору обнаружение того, что вы делаете. С другой стороны, порт 8080 используется протоколом HTTP (который не является «безопасным» соединением), поэтому опытный сетевой администратор может заподозрить подозрительность и даже заблокировать порт для других типов соединений.

В поле «Назначение» повторно введите IP-адрес защищенного сервера, затем двоеточие и порт, который вы открыли в точке с названием «Настроить маршрутизатор» и в файле ~ / .ssh / config. Например, 192.243.231.553:443.

Выберите Dynamic (который создаст соединение SOCKS, которое мы будем использовать в следующем пункте) и нажмите Добавить.

5.- Я вернулся на главный экран PuTTY, щелкнул «Сохранить», а затем «Открыть». При первом подключении к серверу появится предупреждающее сообщение, подобное приведенному ниже:

6.- Затем он запросит ваше имя пользователя и пароль для доступа к серверу.

Если все прошло хорошо, после входа в систему вы должны увидеть что-то вроде того, что вы видите ниже ...

7.- Наконец, не закрывая PuTTY, откройте и настройте Firefox (или ваш любимый браузер) для подключения к Интернету через PuTTY.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Хосе Даниэль Родригес сказал

    вопрос на шаге 6, какое имя пользователя и какой пароль я должен поставить

  2.   хосе сказал

    отлично, попробую настроить под свой дом

  3.   Al сказал

    для доступа в Интернет из моего дома:
    коммутируемое соединение по модему 56k,
    Я запускаю файл .bat с такой конфигурацией:
    @Echo Off
    C:
    Компакт-диск C: \ Windows
    шпатлевка -N -C -D 1080 -P 443 -ssh пользователь@00.00.000.000 -pw пройти
    Выход
    и что связано со шпатлевкой, настроенной в этом
    форма: в опциях, контролирующих использование прокси, я помещаю его в http, в прокси
    имя хоста Я поставил свой прокси и порт 3128, а также имя пользователя и пароль
    Я поместил свои данные, оставив все остальное нетронутым, и сохранил это
    конфигурация в первый раз как настройки по умолчанию
    и чтобы использовать Mozilla, Yahoo Messenger и т. д., я должен проксировать
    приложения с проксификатором версии 3 настроены следующим образом:
    в прокси-сервере с адресом 127.0.0.1 порт 1080 sock версии 5,
    в правилах проксификации добавляю приложение putty и в действиях ставлю
    direct, чтобы все программы выходили через это.
    Мне нужно знать, как я могу добиться этого на своем телефоне Android, который
    Я подключаюсь к своему компьютеру через Connectify, и он делится моим подключением из
    телефонный доступ. Мне нужен учебник и APK, чтобы решить эту проблему
    дилемма. Приветствую и заранее спасибо

  4.   Клинт Иствуд сказал

    Необходимо было объяснить, как сервер SSH волшебным образом будет обрабатывать HTTP-запросы, которые делает клиент ... ослабить руководство ...

    1.    Эррол Флинн сказал

      Неправильный Клинт Иствуд.

      С тем, что было объяснено в руководстве, «волшебным образом» это работает!

      Совсем не слабо, скорее, честно и конкретно.

      Очень хорошо объяснено для неопытных.

      привет

      1.    давайте использовать Linux сказал

        Как хорошо, что он сослужил вам службу! Объятья! Павел.

  5.   ДюмаЛинукс сказал

    Это работает очень хорошо.

    Как показано ниже, SSH-туннель с WinSCP:

    http://www.sysadmit.com/2014/05/linux-tuneles-ssh-con-winscp.html

  6.   ЖЕМПЬЕР ЗАМБРАНО-КУЕВА сказал

    отлично очень хорошо объяснил 5 * спасибо

  7.   Родриго сказал

    Вопрос…
    Что, если мне нужен туннель между двумя Linux-машинами? У меня такая ситуация: на работе мы возимся с компьютером, мы хотим протестировать программное обеспечение для видеоконференций, поэтому нам пришлось установить сервер на компьютер avandonado. Проблема в том, что при установке программного обеспечения (bigbluebutton) установка не выполняется ... мы обнаружили, что проблема в том, что загрузка компонента установки блокируется (я не компьютерный ученый, я постоянно учусь учителем) ...
    Поскольку Компания большая, возможности помочь нам из сетей меньше нуля ...
    Итак, я думал подключить сервер (сервер ubuntu) через туннель ssh к моему домашнему компьютеру (на котором есть ubuntu), а затем установить программное обеспечение ...
    Возможно? Они мне помогают?

  8.   Суан сказал

    Здравствуйте, хорошо, у меня есть запрос, я хочу подключиться к приложению, которое у меня есть на моем сервере Debian, которое находится на виртуальной машине, которую я смонтировал в Windows, и я хочу получить доступ к этому приложению из другой сети, кто-нибудь поможет мне, пожалуйста.

  9.   Anony сказал

    Как установить и настроить SSH-сервер
    https://www.youtube.com/watch?v=iY536vDtNdQ

  10.   Tosko сказал

    Привет, хорошо, у меня есть вопрос, который меня очень беспокоит, и я решил пойти проконсультироваться с сообществом ... ну вот и я, чтобы узнать, можете ли вы мне помочь ... Я "новичок" в мире виртуализации, Linux.

    Дело в следующем. Я установил виртуальную машину с Linux-сервером 14.04.5 LTS, я настроил сеть в Vbox как «адаптер моста», выбрав свой сетевой адаптер. Оказавшись внутри своего сервера, я установил несколько вещей, то есть у меня есть доступ к Интернету ... среди этого я установил службу SSH, оставив порт 22 по умолчанию и службу ftp "vsftpd".

    При обращении к команде «ifconfig» мне отвечает:
    Link encap: Ethernet-адрес HW 08: 00: 27: d5: 2c: 88
    Адрес inet: 192.168.0.13 Diffus.:192.168.0.255 Masc: 255.255.255.0
    ......

    Теперь, чтобы подключиться с моего компьютера (Windows 10) с Putty к моему виртуальному серверу с помощью ssh (порт 22), я использую IP-адрес 192.168.0.13 и то же самое с FTP, но если я хочу, чтобы друг из дома подключился к мой сервер через SSH или FTP, мы не можем использовать IP, который я использую на моем компьютере.

    Я хотел бы знать, почему это происходит из-за того, что ip "192.168.0.13", я думаю, работает локально, то есть должен ли я настраивать что-то еще, изменять / etc / network / interfaces, изменять что-то в iptables?
    Что ж, я хочу, чтобы мой сервер работал как общедоступный IP-адрес, к которому любой может подключиться с доступом.

    Спасибо заранее!