1

Я не могу представить ни одного варианта использования, который бы лучше использовал ssh -L чем ssh -D . Я знаю, что ssh -R может быть действительно полезен для некоторых сетевых настроек, но кажется, что ssh -D может делать все, что может ssh -L .

Но, чувак, у нас есть этот вариант - -L запечен, и в некоторых случаях это должно быть лучшее (или единственное) решение, верно?

2 ответа2

4

Простой ответ заключается в том, что не все программы говорят на SOCKS, что необходимо для использования -D . Подавляющее большинство из них либо поддерживают только прокси-серверы HTTP CONNECT, либо вообще не имеют настроек прокси-сервера - они ожидают адрес и порт для прямого доступа к серверу, и ничего более.

Чтобы использовать такие программы с ssh -D , вам потребуется промежуточный уровень, который будет говорить на языке SOCKS от имени этих программ всякий раз, когда они захотят где-нибудь подключиться.

Конечно, такие слои существуют, но теперь вы добавляете два дополнительных слоя, которые компенсируют друг друга. Во многих случаях, когда программе необходимо связаться только с одним хостом через туннель, это просто ненужная сложность.

2

Локальная пересылка TCP может использоваться для пересылки сокетов домена Unix с удаленного хоста на ваш локальный. Это очень полезно, когда вы хотите подключиться к базе данных, которая предоставляет только локальный сокет, а не порт TCP, и вы хотите получить к ней безопасный доступ. Вы не можете сделать это с помощью прокси SOCKS.

Пример:

ssh ­-L /var/run/mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock ­mysql-server

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .