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

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

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

Это понятно. Но как сервер-то получает данные с запрашиваемого ресурса в интернете? Т.е. ssh-демон на сервере, получая по "туннелю" запрос от клиента, затем, по аналогии с curl, или каким-нибудь wget, делает этот запрос к запрашиваемому ресурсу и возвращает его ответ клиенту? Так что ли? Если да, то зачем такой функционал ssh-демону, который был создан задолго до появления РКН и пр.?
  • Вопрос задан
  • 271 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • REBRAIN
    OpenSSH
    1 месяц
    Далее
  • Skillbox
    Администрирова­ние ОС Linux
    3 месяца
    Далее
  • Stepik
    DevOps: Junior
    6 месяцев
    Далее
Решения вопроса 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
причем тут ркн, если надо было передавать файлы, кроме командной строки)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Казань
от 75 000 до 125 000 ₽
Инком Нижний Новгород
от 160 000 до 230 000 ₽
Инком Нижний Новгород
от 160 000 до 230 000 ₽