Перенаправление портов SSH (локальное и удалённое)
Освойте локальное и удалённое перенаправление портов для безопасного доступа к внутренним службам или предоставления удалённой сети доступа к локальным службам.
«Перенаправление портов SSH (локальное и удалённое)» — бесплатный урок Linux Server Deployment & SSH Mastery на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Linux Server Deployment & SSH Mastery, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Linux Server Deployment & SSH Mastery содержит 4 уроков всего.
Защищённые туннели с помощью SSH
SSH нужен не только для входа в систему! С его помощью можно создавать защищённые «туннели» для перенаправления сетевого трафика.
Эта техника, называемая перенаправлением портов, позволяет получать доступ к службам, которые обычно недоступны или небезопасны.
Представьте, что Вы прокладываете частный зашифрованный мост между разными сетевыми портами.
Зачем нужно перенаправление портов?
Перенаправление портов очень полезно разработчикам и системным администраторам:
- Доступ к внутренним службам: подключение с локального компьютера к базе данных или веб-интерфейсу в частной сети.
- Публикация локальных служб: предоставление другим пользователям доступа к локальному серверу разработки из удалённой сети.
- Обход межсетевых экранов: защищённое подключение к службам за ограничивающими правилами межсетевого экрана.
Локальное перенаправление портов (L)
Локальное перенаправление портов создаёт туннель от Вашего локального компьютера к удалённому серверу, а затем к другому месту назначения.
Это можно представить так: «Весь трафик, который я отправляю на localhost:8000 со своего компьютера, передайте через SSH на remote-server, а оттуда перенаправьте на internal-db:5432».
Синтаксис локального перенаправления
Для локального перенаправления портов используется флаг -L:
ssh -L [LOCAL_PORT]:[REMOTE_HOST]:[REMOTE_PORT] [SSH_USER]@[SSH_SERVER]
- LOCAL_PORT: порт на Вашем компьютере.
- REMOTE_HOST: узел, к которому подключается SSH-сервер.
- REMOTE_PORT: порт на
REMOTE_HOST. - SSH_SERVER: сервер, к которому Вы подключаетесь по SSH.
Сценарий локального перенаправления
Представьте, что база данных работает по адресу db.internal.network:5432. Ваш SSH-сервер (my-server.com) может подключиться к ней, а Ваш ноутбук — нет.
Вы хотите подключиться к этой базе данных с помощью локального инструмента, например DBeaver или psql.
Локальное перенаправление позволяет сделать именно это!
Локальное перенаправление в действии
Создадим туннель от локального порта 5432 к удалённой базе данных db.internal.network:5432 через my-server.com.
ssh -L 5432:db.internal.network:5432 user@my-server.com
Теперь любое подключение к localhost:5432 на Вашем компьютере будет безопасно направлено к db.internal.network:5432.
Удалённое перенаправление портов (R)
Удалённое перенаправление портов — противоположность локальному: оно создаёт туннель от удалённого сервера обратно к Вашему локальному компьютеру, а затем к месту назначения.
Это можно представить так: «Весь трафик, отправленный на my-server.com:8080, передайте через SSH на мой ноутбук, а оттуда перенаправьте на localhost:3000».
Синтаксис удалённого перенаправления
Для удалённого перенаправления портов используется флаг -R:
ssh -R [REMOTE_PORT]:[LOCAL_HOST]:[LOCAL_PORT] [SSH_USER]@[SSH_SERVER]
- REMOTE_PORT: порт на SSH-сервере.
- LOCAL_HOST: узел, к которому подключается SSH-сервер (обычно
localhost). - LOCAL_PORT: порт на
LOCAL_HOST. - SSH_SERVER: сервер, к которому Вы подключаетесь по SSH.
Сценарий удалённого перенаправления
Вы разрабатываете веб-приложение на ноутбуке по адресу localhost:3000. Вы хотите показать его коллеге, но он находится в другой сети.
С помощью удалённого перенаправления можно сделать локальное приложение доступным через порт на общедоступном SSH-сервере (например, my-server.com:8080).
Удалённое перенаправление в действии
Опубликуем локальное веб-приложение, работающее по адресу localhost:3000, через порт 8080 на my-server.com.
ssh -R 8080:localhost:3000 user@my-server.com
Теперь коллега сможет открыть Ваше приложение, перейдя в браузере по адресу http://my-server.com:8080!
Тест: перенаправление портов
Перенаправление портов SSH — мощный инструмент. Какие утверждения точно описывают его использование?
Туннели защищены!
Вы освоили перенаправление портов SSH!
- Локальное перенаправление (
-L) соединяет локальный порт с удалённой службой. - Удалённое перенаправление (
-R) соединяет порт удалённого сервера с локальной службой.
Эти методы создают защищённые зашифрованные туннели и позволяют эффективно управлять сетевым доступом. Продолжайте практиковаться, чтобы включить их в свой рабочий процесс!
Часто задаваемые вопросы
Урок «Перенаправление портов SSH (локальное и удалённое)» бесплатный?
Да — полный текст урока «Перенаправление портов SSH (локальное и удалённое)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Linux Server Deployment & SSH Mastery, подпишись на CoddyKit PRO. Курс Linux Server Deployment & SSH Mastery содержит 4 уроков всего.
Чему я научусь в уроке «Перенаправление портов SSH (локальное и удалённое)»?
Освойте локальное и удалённое перенаправление портов для безопасного доступа к внутренним службам или предоставления удалённой сети доступа к локальным службам. Ты практикуешь Linux Server Deployment & SSH Mastery с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Linux Server Deployment & SSH Mastery?
Предыдущий опыт не требуется. Linux Server Deployment & SSH Mastery на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Перенаправление портов SSH (локальное и удалённое)»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Linux Server Deployment & SSH Mastery?
Да. Каждый урок Linux Server Deployment & SSH Mastery включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Перенаправление портов SSH (локальное и удалённое)
- Туннели SSH и прокси SOCKS
- Агент SSH и многоступенчатые подключения
- Безопасная передача файлов с помощью SCP, SFTP и rsync