Я пытаюсь понять разницу между ssh -L к -D. Есть ли что-нибудь еще, кроме этого - только носки?
Благодарность!
Я пытаюсь понять разницу между ssh -L к -D. Есть ли что-нибудь еще, кроме этого - только носки?
Благодарность!
Ответы:
ssh -L
открывает локальный порт. Все, что вы отправляете на этот порт, проходит через соединение ssh и уходит через сервер. Если вы это сделаете, например, ssh -L 4444:google.com:80
если вы откроете http://localhost:4444
в своем браузере, вы действительно увидите страницу Google.
ssh -D
открывает локальный порт, но у него нет конкретной конечной точки, как с -L
. Вместо этого он притворяется SOCKS-прокси. Если вы откроете, например, ssh -D 7777
когда вы скажете браузеру использовать в localhost:7777
качестве прокси-сервера SOCKS, все запросы вашего браузера будут проходить через туннель ssh. Для общедоступного интернета все выглядит так, как будто вы просматривали его со своего ssh-сервера, а не со своего компьютера.
The bind_address of “localhost” indicates that the listening port be bound for local use only, while an empty address or ‘*’ indicates that the port should be available from all interfaces.
ssh -L 4444:google.com:80
у меня не работает, для входа требуется другой параметр, например user@example.com
В SSH -D
указывает локальную «динамическую» переадресацию портов уровня приложения.
SSH -D [bind_address:]port
Определяет локальную «динамическую» переадресацию портов уровня приложения. Это работает путем выделения сокета для прослушивания порта на локальной стороне, необязательно привязанного к указанному адресу bind_address. Всякий раз, когда устанавливается соединение с этим портом, оно перенаправляется по безопасному каналу, а затем протокол приложения используется для определения того, к чему подключаться с удаленного компьютера. В настоящее время поддерживаются протоколы SOCKS4 и SOCKS5, и ssh будет выполнять роль сервера SOCKS. Только root может пересылать привилегированные порты. Переадресация динамических портов также может быть указана в файле конфигурации.
Адреса IPv6 можно указывать с альтернативным синтаксисом: порт [bind_address /] или заключая адрес в квадратные скобки.
Только суперпользователь может пересылать привилегированные порты. По умолчанию локальный порт связан в соответствии с настройкой GatewayPorts. Однако явный адрес bind_address может использоваться для привязки соединения к определенному адресу. Bind_address «localhost» указывает, что прослушивающий порт должен быть привязан только для локального использования, в то время как пустой адрес или «*» указывает, что порт должен быть доступен со всех интерфейсов.
Кроме того, ssh -L
Указывает, что данный порт на локальном (клиентском) хосте должен быть перенаправлен на данный хост и порт на удаленной стороне.
SSH -L [bind_address:]port:host:hostport
Указывает, что данный порт на локальном (клиентском) хосте должен быть перенаправлен на данный хост и порт на удаленной стороне. Это работает путем выделения сокета для прослушивания порта на локальной стороне, необязательно привязанного к указанному адресу bind_address. Всякий раз, когда устанавливается соединение с этим портом, оно перенаправляется по безопасному каналу, и устанавливается соединение с портом хоста с удаленного компьютера. Переадресация портов также может быть указана в файле конфигурации. Адреса IPv6 могут быть указаны с альтернативным синтаксисом: [bind_address /] port / host / hostport или заключив адрес в квадратные скобки.
Только суперпользователь может пересылать привилегированные порты. По умолчанию локальный порт связан в соответствии с настройкой GatewayPorts. Однако явный адрес bind_address может использоваться для привязки соединения к определенному адресу. Bind_address «localhost» указывает, что прослушивающий порт должен быть привязан только для локального использования, в то время как пустой адрес или «*» указывает, что порт должен быть доступен со всех интерфейсов.