Задать вопрос
Driver86
@Driver86
Немодератор toster.ru

Как технически работает проксирование через ssh?

Что-то не получается найти ответ на, казалось бы, простой вопрос.
Как работает проксирование через ssh?
Проксирование через SSH работает за счет создания зашифрованного туннеля между вашим компьютером и удаленным сервером, который затем используется как прокси для передачи данных.

Это понятно. Но как сервер-то получает данные с запрашиваемого ресурса в интернете? Т.е. ssh-демон на сервере, получая по "туннелю" запрос от клиента, затем, по аналогии с curl, или каким-нибудь wget, делает этот запрос к запрашиваемому ресурсу и возвращает его ответ клиенту? Так что ли? Если да, то зачем такой функционал ssh-демону, который был создан задолго до появления РКН и пр.?
  • Вопрос задан
  • 267 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Администрирова­ние ОС Linux
    3 месяца
    Далее
  • Stepik
    DevOps: Junior
    6 месяцев
    Далее
  • Merion Academy
    Онлайн-курс по Linux
    2 месяца
    Далее
Решения вопроса 2
@rPman
Работает очень 'просто'.

ssh-клиент подключается к ssh-серверу (авторизация и т.п.), затем приложение по протоколу socks proxy подключается к ssh-клиенту, ssh-клиент шлет по своему птичьему протоколу информацию по уже открытому каналу до сервера, сервер создает сокет и отправляет/принимает данные до цели (и поддерживает его, если нужно) и всю коммуникацию перенаправляет к приложению ( приложение <-> ssh-клиент <-> ssh-сервер <-> цель, тут между каждым узлом открытое сокет подключение), добавив своих заголовков и разделяя пакеты по необходимости.
Ответ написан
Комментировать
Vindicar
@Vindicar
RTFM!
по аналогии с curl, или каким-нибудь wget,

Неправильно. SSH-сервер не имеет понятия, на каком птичьем языке говорит тот, кто использует порт. Он тупо туннелирует пакеты как массив байт. Единственная "бонусная" функциональность - это SOCKS5 прокси в SSH-клиенте для динамического проброса портов, а для более статического проброса (в любую сторону) и это не используется.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Технически — точно так же и все остальные сетевые протоколы. Вы бы для начала ознакомились бы хотя бы просто с расшифровкой названия протокола:

SSH (англ. Secure Shell — «безопасная оболочка»[1]) — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли.

https://ru.wikipedia.org/wiki/SSH

Использовать SSH для обхода блокировок — не самая удачная идея, т.к. он тоже легко определяется средствами DPI, а некоторые провайдеры даже ограничивают скорость его работы.
Ответ написан
Комментировать
@Drno
причем тут ркн, если надо было передавать файлы, кроме командной строки)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы