Туннели SSH и прокси SOCKS
Создавайте защищённые туннели SSH для шифрования обмена данными и настраивайте прокси SOCKS для анонимного просмотра веб-сайтов или обхода сетевых ограничений.
«Туннели SSH и прокси SOCKS» — бесплатный урок Linux Server Deployment & SSH Mastery на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Linux Server Deployment & SSH Mastery, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Linux Server Deployment & SSH Mastery содержит 4 уроков всего.
Введение в туннели SSH
Добро пожаловать в раздел «Туннели SSH»! Это не физические туннели, а защищённые соединения, позволяющие перенаправлять сетевой трафик через SSH-сервер.
Представьте, что Вы создаёте секретный зашифрованный путь через общедоступную сеть. Этот путь позволяет получать доступ к службам, которые иначе могли бы быть заблокированы или небезопасны.
Зачем нужны туннели SSH?
Туннели SSH очень универсальны и полезны разработчикам и системным администраторам. Они помогают Вам:
- Обходить межсетевые экраны: получать доступ к внутренним службам, не опубликованным в интернете.
- Защищать незашифрованный трафик: шифровать данные, которые обычно передаются небезопасно (например, при использовании старых протоколов).
- Получать доступ к ограниченным ресурсам: подключаться к службам в частной сети из общедоступной сети и наоборот.
Объяснение локального перенаправления портов
Локальное перенаправление портов — это подключение порта на Вашем локальном компьютере к порту на удалённом компьютере через SSH-сервер.
SSH-сервер выступает посредником. Ваше локальное приложение подключается к локальному порту, а SSH безопасно перенаправляет этот трафик на указанные удалённый узел и порт.
Локальное перенаправление: команда
Синтаксис локального перенаправления портов прост:
ssh -L [local_port]:[remote_host]:[remote_port] [user]@[ssh_server]
Вот пример доступа к базе данных, работающей на db-server (порт 3306), через сервер ssh-gateway:
ssh -L 8080:db-server:3306 user@ssh-gateway.comЛокальное перенаправление: практическое применение
После выполнения команды из предыдущей сцены Вы сможете подключить локальный клиент базы данных к localhost:8080.
Весь трафик, который Вы отправите на localhost:8080, будет безопасно перенаправлен через ssh-gateway.com к db-server:3306. Это удобно для доступа к частным базам данных и веб-службам.
Объяснение удалённого перенаправления портов
Удалённое перенаправление портов — противоположность локальному перенаправлению. Оно позволяет опубликовать службу, работающую на Вашем локальном компьютере, через порт на удалённом SSH-сервере.
Таким образом, другие пользователи смогут подключаться к порту на удалённом SSH-сервере, а их трафик будет безопасно перенаправляться к Вашей локальной службе.
Удалённое перенаправление: команда
В синтаксисе удалённого перенаправления портов используется флаг -R:
ssh -R [remote_port]:[local_host]:[local_port] [user]@[ssh_server]
Допустим, на локальном компьютере работает веб-сервер на порту 8000, и Вы хотите сделать его доступным другим пользователям через ssh-gateway на порту 8888:
ssh -R 8888:localhost:8000 user@ssh-gateway.comУдалённое перенаправление: практическое применение
После создания удалённого туннеля любой, кто может подключиться к ssh-gateway.com, сможет получить доступ к Вашему локальному веб-серверу, подключившись к ssh-gateway.com:8888.
Это удобно для предоставления коллегам доступа к локальному серверу разработки или для веб-перехватчиков, которым требуется подключение к Вашему локальному компьютеру.
Прокси SOCKS через SSH
Прокси SOCKS позволяет направлять весь трафик приложения (например, веб-браузера или чата) через SSH-сервер. Это часто используется для анонимизации просмотра веб-страниц или обхода сетевых ограничений.
Флаг -D создаёт прокси SOCKS на локальном порту:
ssh -D 9999 user@ssh-gateway.comНастройка клиента для работы с SOCKS
После выполнения команды ssh -D 9999 user@ssh-gateway.com у Вас будет запущен прокси SOCKS на localhost:9999.
Затем настройте веб-браузер или другое приложение на использование localhost в качестве прокси SOCKS5 на порту 9999. Весь интернет-трафик этого приложения теперь будет безопасно направляться через ssh-gateway.
Проверка туннелей
Вы пытаетесь получить доступ с локального компьютера (localhost) к частной внутренней веб-службе, работающей по адресу internal-app.local:80. У Вас есть доступ по SSH к jump-host.com.
Какую команду SSH следует использовать, чтобы перенаправить локальный порт 8080 к внутренней веб-службе?
Итоги: туннели и прокси
Вы освоили туннели SSH! Мы рассмотрели:
- Локальное перенаправление портов (
-L): доступ к удалённым службам с локального компьютера. - Удалённое перенаправление портов (
-R): публикация локальных служб через удалённый SSH-сервер. - Прокси SOCKS (
-D): направление всего трафика приложения через SSH-сервер для обеспечения конфиденциальности или обхода ограничений.
Эти методы — мощные инструменты для безопасного и гибкого доступа к сети при разработке и администрировании.
Часто задаваемые вопросы
Урок «Туннели SSH и прокси SOCKS» бесплатный?
Да — полный текст урока «Туннели SSH и прокси SOCKS» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Linux Server Deployment & SSH Mastery, подпишись на CoddyKit PRO. Курс Linux Server Deployment & SSH Mastery содержит 4 уроков всего.
Чему я научусь в уроке «Туннели SSH и прокси SOCKS»?
Создавайте защищённые туннели SSH для шифрования обмена данными и настраивайте прокси SOCKS для анонимного просмотра веб-сайтов или обхода сетевых ограничений. Ты практикуешь Linux Server Deployment & SSH Mastery с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Linux Server Deployment & SSH Mastery?
Предыдущий опыт не требуется. Linux Server Deployment & SSH Mastery на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Туннели SSH и прокси SOCKS»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Linux Server Deployment & SSH Mastery?
Да. Каждый урок Linux Server Deployment & SSH Mastery включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Перенаправление портов SSH (локальное и удалённое)
- Туннели SSH и прокси SOCKS
- Агент SSH и многоступенчатые подключения
- Безопасная передача файлов с помощью SCP, SFTP и rsync