Требуется подробное объяснение того, как переадресация или туннелирование ssh-портов или ProxyCommand работает в следующем сценарии с несколькими пользователями.
Клиентские компьютеры:
User1-ClientA1, User2-ClientA2, User3-ClientA3
Сервер входа:
LoginServerB
Целевой сервер:
TargetServerC1, TargetServerC2, TargetServerC3
Состояние:
Доступ к целевому серверу возможен только с LoginServerB, Доступ к LoginServer возможен с любого клиентского компьютера.
Проблема:
Шаг 1: User1-ClientA1 может настроить переадресацию портов на LoginServerB (например, перенаправить порт 22 LoginServerB на порт TargetServerC1 22) через командную строку ssh ... на User1-ClientA1.
Должна ли здесь использоваться переадресация локального порта (на User1-ClientA1) или переадресация на удаленный порт?
Если используется переадресация с локальным портом (на User1-ClientA1), это не имеет смысла, поскольку вы этого не делаетедействительно отправьте что-нибудь на ваш локальный порт (на User1-ClientA1), вам просто нужно подключиться к TargetServerC1 (например, с помощью терминала).Переадресация удаленных портов, кажется, также не имеет смысла.
Step2: User2-ClientA2 захочет сделать то же самое для подключения к TargetServerC2, но, поскольку Step1, LoginServerB перенаправит запрос в TargetServerC1, вместо этогоиз TargetServerC2?
Другие вопросы:
- В целом, как это работает для переадресации / туннелирования ssh-портов?
- Чем ProxyCommand отличается от переадресации / туннелирования ssh-портов в этом сценарии?
Чем подробнее, тем лучше.Спасибо!
Разочарованный онлайн-учебниками, никто не объясняет это хорошо, нужно связать условия локального, удаленного, сервера, клиента с условиями User1-ClientA1 и т. Д., LoginServerB, TargetServerC1 и т. П..