Я пытаюсь сопоставить локальные порты, чтобы перенаправить трафик на прокси-сервер. Я получил инструкцию, содержащую эту команду:
ssh -A -t -l root 106.120.124.39 -L :8888:106.120.102.53:8888
Из SSH
руководство:
-A
Включает пересылку соединения агента аутентификации. Это также можно указать для каждого хоста в файле конфигурации.
Пересылку агента следует включать с осторожностью. Пользователи с возможностью обхода файловых разрешений на удаленном хосте (для сокета домена UNIX агента) могут получить доступ к локальному агенту через перенаправленное соединение. Злоумышленник не может получить ключевой материал от агента, однако он может выполнять операции с ключами, которые позволяют им аутентифицироваться с использованием идентификаторов, загруженных в агент.
-t
Принудительное выделение псевдотерминала
-L
Указывает, что соединения с заданным TCP-портом или сокетом Unix на локальном (клиентском) хосте должны быть перенаправлены на данный хост и порт или сокет Unix на удаленной стороне.
Несмотря на то, что я прочитал это, я не понимаю, как это работает на самом деле и каковы последствия ввода этого текста в терминале. Может кто-нибудь объяснить это в просто условия?
Я думал, что у меня есть графическая иллюстрация -L :9990:198.51.100.0:9999
где-то и я сделал!
Диаграмма визуализирует ситуацию, когда -L [ bind_address:]port:host:hostport
используется для доступа к ресурсу на удаленной стороне. Теперь вы можете подключиться к порту 9990
на вашем клиентском компьютере SSH, как если бы вы подключались к example.com:9999
из SSH-сервер. Пункт назначения может быть любым. Я не хотел использовать твой 8888
с обеих сторон во избежание путаницы; это может быть другой порт.
Одна картинка стоит тысячи слов; половина 2000 слов в Как использовать SSH-туннелирование
Я думаю, что SSH.com имеет довольно простой и хорошо написанный объяснение про SSH туннелирование / пересылку.
В случае -t
флаг, Вот еще одно хорошее чтение; и Вот тот для -A
флаг.
Картинка могла бы лучше объяснить ситуацию (-D
= Динамическая пересылка):