Skip to content

Latest commit

 

History

History
75 lines (38 loc) · 5.65 KB

02_PORTS_FORWARDING.md

File metadata and controls

75 lines (38 loc) · 5.65 KB

Проброс портов в виртуальной системе

Шаг 1. Настройка конфигурации ssh

Логинимся под суперпользователем и открываем файл /etc/ssh/sshd_config

редактирование конфига ssh

Всё, что происходит далее - это небезопасные настройки для виртуальной гостевой системы, не повторяйте на vps-серверах!

Меняем порт на 42-й (на школьном маке, например, 22-й уже занят ssh хостовой машины и подключиться по нему не получится) и разрешаем логиниться под суперпользователем

редоктирование конфига ssh

Отключаем вход по ключу (в целом необязательно, но я сделал) и подтверждаем вход по паролю:

редактирование конфига ssh

После этого сохраняем конфигурацию и перезапускаем сервисы ssh и sshd (вообще достаточно sshd, но привычка делать для верности оба):

перезапуск ssh

Шаг 2. Настройка файервола

На шаге установка системы мы уже установили файервол ufw (точнее, ufw это надстройка над файерволом iptables, но в рамках нашей задачи мы не будем углубляться в эти технологии).

Далее нам нужно открыть в файерволе наш порт 42 для ssh, а так же порты 80 и 443 для веб-сайта.

Сначала запускаем наш файервол командой ufw enable, затем разрешаем каждый порт диективой ufw allow N, где N - номер порта:

открытие портов

Открытые порты можно посмотреть при помощи команды ufw status

На этом настройки в системе закончены, необходимо выключить виртуальную машину командой shutdown now

Команда shutdown выключит сервер через минуту, поэтому используем именно shutdown now для мгновенного завершения:

завершение работы

Шаг 3. Проброс портов

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

В Virtualbox заходим в настройки -> сеть -> дополнительно -> проброс портов, и прописываем следующие правила:

проброс портов

Шаг 4. Вход через терминал хостовой ОС

Во-первых нужно убедиться что на хостовой машине в ~/.ssh/known_hosts нету локальных записей (начинаются с [localhost]). Если такие строки есть и будут проблемы со входом, то их надо будет удалить.

После того, как мы пробросили порты, необходимо снова запустить виртуальную машину.

Логиниться не нужно, можно свернуть окно виртуальной машины и войти на наш сервер через терминал.

Для входа под суперпользователем:

ssh root@localhost -p 42

Для входа под обычным пользователем используем созданное нами имя пользователя:

ssh <your_nickname>@localhost -p 42

Нажимаем yes чтобы принять настройки в known_hosts, вводим наш пароль и вуаля - мы на гостевой машине!

вход по ssh

Поздравляю, теперь мы можем копипастить команды в терминал, и они будут выполняться на нашем виртуальном сервере!

А это значит, что мы имеем возможность ускоренно скопипастить и развернуть наш проект!

установка системы

Но это для тех пиров, кого поджимают дедлайны, остальным же лучше делать всё step by step для лучшего понимания принципов работы контейнеров. Контейнеры - полезнейшая штука, а умение грамотно контейнеризировать свой код даст каждому программмисту большие преимущества на рынке труда.