Ответ
SSH-туннелирование (SSH port forwarding) — это метод создания зашифрованного канала между локальным и удаленным компьютером, через который можно безопасно передавать трафик других протоколов.
Это позволяет защитить незашифрованные протоколы или получить доступ к сервисам во внутренней сети.
Основные типы туннелей:
-
Локальный туннель (
-L): Пробрасывает порт с локальной машины на удаленный сервер. Используется для доступа к удаленному сервису (например, базе данных) так, как будто он запущен локально.# Локальный порт 8080 будет перенаправлен на порт 80 удаленного сервера ssh -L 8080:localhost:80 user@remote-server -
Удалённый туннель (
-R): Пробрасывает порт с удаленного сервера на локальную машину. Полезно, когда нужно предоставить доступ к локальному веб-серверу из внешней сети.# Удаленный сервер будет слушать порт 9000 и перенаправлять трафик на порт 3000 локальной машины ssh -R 9000:localhost:3000 user@remote-server -
Динамический туннель (
-D): Создает SOCKS-прокси на локальной машине. Весь трафик, направленный через этот прокси, будет выходить в сеть с IP-адреса удаленного сервера.# Создать SOCKS-прокси на локальном порту 1080 ssh -D 1080 user@remote-server
Сферы применения: безопасный доступ к базам данных, обход сетевых ограничений, доступ к внутренним ресурсам компании.