IPTables Перенаправляют SSH на основе Строки подключения?

Если Вы хотите, чтобы-R переданный порт на сервере B был достижим с сервера A, необходимо указать связывание адресного на сервере B слева от удаленного порта. Например, если B имеет адрес 1.2.3.4, и Вы соединяетесь от ноутбука:

laptop:~ $ ssh -R 1.2.3.4:10443:127.0.0.1:443 server-b

Это передаст порт 10443 на сервере-b к 443 на ноутбуке. Если Вы хотите использовать порт 443 вместо этого, войти в систему к серверу-b как корень.

1
задан 3 November 2012 в 16:09
1 ответ

Это невозможно. Связь между вами и ssh-сервером полностью зашифрована, iptables не имеет возможности заглянуть внутрь пакета и, следовательно, может соответствовать только на основе IP / порта на отправляющей и принимающей стороне.

Я бы настроил разные порты на общедоступная машина и перенаправьте их через iptables на машины в фоновом режиме, а затем сделайте что-то вроде этого в конфигурации вашего ssh-клиента (~ / .ssh / config):

Host machineA
        HostName your-public-machine
        Port 12341

Host machineB
        HostName your-public-machine
        Port 12342

Host machineC
        HostName your-public-machine
        Port 12343

С этой конфигурацией вы можете просто запустить ssh machineA , ssh machineB или ssh machineC и перейдите к нужному компьютеру.

2
ответ дан 3 December 2019 в 21:40

Теги

Похожие вопросы