Як створити тунель SSH між сервером Linux та клієнтом Windows

Ідея побудови a Тунель SSH полягає в шифруванні всіх з'єднань (незалежно, наприклад, якщо ви переходите на сторінку https або http) і підключаєтесь до інтернет через a захищений канал. Цей "безпечний" канал - не що інше, як сервер налаштований для цієї мети. Цей сервер може бути, наприклад, у вашому домі.


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

Я чую, як ви запитуєте: чи справді це може мені допомогти? Ну, припустимо такий сценарій: ви знаходитесь в інтернет-кафе чи ресторані з безкоштовним Wi-Fi, і вам потрібно здійснити банківський переказ або іншу важливу операцію. Звичайно, завжди рекомендується здійснювати подібні операції в безпечному середовищі. Однак є рішення: тунель SSH. Таким чином, ми можемо підключитися до Інтернету через наш «захищений» сервер.

Цей метод також корисний для обходу обмежень, накладених на з'єднання багатьох робочих середовищ. Не можете отримати доступ до YouTube з роботи? Що ж, рішенням може бути SSH-тунель, оскільки всі запити надсилатимуться через ваш «захищений» сервер. Іншими словами, оскільки IP вашого захищеного сервера не заблокований (так, з іншого боку, YouTube), ви зможете "ухилитися" від цього обмеження (не мати доступу до YouTube), оскільки для адміністратора мережі вашої компанії ваша машина спілкувалась лише у чаті з вашим «захищеним» сервером і не уявляє, що через нього ви насправді переглядаєте багато сторінок.

У цьому посібнику ми пояснимо "типовий" випадок: сервер Linux, клієнт Windows.

Налаштування сервера Linux

1. - Встановіть сервер SSH. Для цього я відкрив термінал і запустив:

En Ubuntu:

sudo apt-get install openssh-server

En арка:

pacman -S openssh

En м'яка фетровий капелюх:

yum -y встановити openssh-сервер

Готові. Тепер ви зможете отримати доступ до Ubuntu (сервер SSH) за допомогою клієнта SSH.

2. - Після встановлення корисно переглянути файл конфігурації:

sudo nano / etc / ssh / sshd_config

За допомогою цього файлу ви зможете легко налаштувати свій SSH-сервер. Я рекомендую змінити лише 2 параметри: порт і користувачі.

Щоб уникнути можливих атак, бажано змінити порт, який буде використовувати SSH. За замовчуванням він поставляється зі значенням 22, ви можете вибрати інший, який вам найбільше підходить (для цілей цього підручника ми вибрали 443, але це може бути будь-який інший).

Параметр Allowusers дозволяє обмежити доступ користувача та, за бажанням, хосту, з якого ви можете підключитися. Наступний приклад обмежує доступ до сервера SSH, так що лише так і тому користувачі можуть робити це з хостів 10.1.1.1 та 10.2.2.1.

AllowUsers так і так@10.1.1.1 mengano@10.1.1.1 так і так@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 необхідно ввести дані "локальної" переадресації портів. Перейдіть до З'єднання> SSH> Тунелі. Тут ідея полягає в наступному, ми повинні повідомити PuTTY, які підключення потрібно "перенаправити" на наш захищений сервер. Для цього ми повинні вибрати порт.

Моя рекомендація, особливо якщо машина стоїть за проксі-сервером, полягає в тому, що ви обираєте порт 443, оскільки він використовується SSL для встановлення безпечних з'єднань, що ускладнить адміністратору виявлення того, що ви робите. Порт 8080, навпаки, - той, який використовується HTTP (який не є "безпечним" з'єднанням), тому досвідчений адміністратор мережі може бути підозрілим і, можливо, навіть заблокував порт для інших типів з'єднань.

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

Виберіть Динамічний (який створить з’єднання SOCKS, яке ми будемо використовувати в наступному пункті) і натисніть Додати.

5. - Я повернувся до головного екрану PuTTY, натиснув Зберегти, а потім Відкрити. Під час першого підключення до сервера з’явиться попереджувальне повідомлення, як показано нижче:

6. - Потім він запитає ім’я користувача та пароль для доступу до сервера.

Якщо все вдалося, після входу в систему ви побачите щось на зразок того, що ви бачите нижче ...

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


Зміст статті відповідає нашим принципам редакційна етика. Щоб повідомити про помилку, натисніть тут.

12 коментарі, залиште свій

Залиште свій коментар

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

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Хосе Даніель Родрігес - сказав він

    питання на кроці 6, яке ім’я користувача та який пароль слід ввести

  2.   Хосе - сказав він

    відмінно, я спробую налаштувати це зі своїм будинком

  3.   Al - сказав він

    щоб отримати доступ до Інтернету з мого дому:
    комутоване з'єднання модемом 56k,
    Я запускаю файл .bat із такою конфігурацією:
    @Echo Вимкнено
    C:
    Cd C: \ Windows
    шпаклівка -N -C -D 1080 -P 443 -сш користувач@00.00.000.000 -pw пропуск
    вихід
    і що пов’язано із шпаклівкою, яка в цьому налаштована
    form: в опціях, що контролюють використання проксі, я поміщаю його в http, у проксі
    ім'я хоста Я ставлю свій проксі-сервер та порт 3128 та ім'я користувача та пароль
    Я розміщую свої дані, залишаючи все інше недоторканим, і зберігаю це
    конфігурацію вперше як стандартні установки
    і для того, щоб використовувати mozilla, yahoo messenger тощо, я повинен проксіфікувати
    програми з проксіфікатором версії 3, налаштованим таким чином:
    на проксі-сервері з адресою 127.0.0.1 порт 1080 sock версії 5,
    у правила проксифікації я додаю шпаклівку і в дії, які я роблю
    прямий, так що всі програми виходять через це.
    Мені потрібно знати, як я можу цього досягти на своєму телефоні Android
    Я підключаюся до свого ПК через connectctify, і він ділиться моїм з’єднанням з
    телефонний доступ. Мені потрібні підручник та apks, щоб вирішити це для мене
    дилема. Привітання та подяки заздалегідь

  4.   Клінт Іствуд - сказав він

    Потрібно було пояснити, як SSH-сервер магічно буде враховувати HTTP-запити, які клієнт робить ... слабким підручник ...

    1.    Еррол Флінн - сказав він

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

      З тим, що було роз’яснено в підручнику, "чарівним чином", це працює!

      Зовсім не слабкий, швидше я б сказав, справедливий і конкретний.

      Дуже добре пояснено для недосвідчених.

      привіт

      1.    давайте використовувати linux - сказав він

        Як добре, що це тобі послужило! Обійми! Павло.

  5.   DumasLinux - сказав він

    Це працює дуже добре.

    Як показано нижче, тунель 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.   Тоско - сказав він

    Привіт добре, у мене є питання, яке мене дуже дратує, і я вирішив піти порадитись із спільнотою .. ну ось я тут, щоб побачити, чи можете ви мені допомогти .. Я "новий" у світі віртуалізації, Linux.

    Справа в наступному. Я встановив віртуальну машину з сервером Linux 14.04.5 LTS, я налаштував мережу у Vbox як "мостовий адаптер", вибравши мій мережевий адаптер. Опинившись на своєму сервері, я встановив кілька речей, тобто маю доступ до Інтернету .. серед них я встановив службу SSH, залишивши порт 22 за замовчуванням та службу ftp "vsftpd".

    Звертаючись до команди «ifconfig», він відповідає мені:
    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, до якого кожен може підключитися з доступом.

    Заранее спасибо!