Як створити тунель 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 встановити openssh-сервер

En арка:

pacman -s openssh

En Fedora:

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.

Дозволити користувачам [захищено електронною поштою] [захищено електронною поштою] [захищено електронною поштою] [захищено електронною поштою]

Налаштуйте маршрутизатор

Якщо ваш сервер знаходиться позаду маршрутизатора, необхідно налаштувати останній, щоб він не блокував вхідні з'єднання. Більш конкретно, вам потрібно налаштувати.

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

Припустимо, у вас є локальна мережа з 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.


Додати як пріоритетне джерело