У меня есть следующий вариант использования переадресации удаленного порта с использованием SSH. У меня есть сервер лицензирования (L) в моей локальной сети. Я хочу, чтобы лицензирование было возможно с целевого сервера (T). T доступен только через джампбокс (J). Чтобы лицензирование работало, мне нужны два определенных порта, которые будут доступны для T. Я не хочу локально перенаправлять их из T по причинам, которые я здесь не буду разрабатывать. Итак, подведем итог, мне нужно удаленно переадресовать порт, скажем, 1025 следующим образом:
L -> J -> T
Текущее решение
Сейчас я просто делаю две переадресации удаленных портов следующим образом (суффикс "_IP" относится к соответствующему IP-адресу)
- От L: ssh -fNT -R 1025: 127.0.0.1: 1025 user @ J_IP
- От J: ssh -fNT -R 1025: 127.0.0.1: 1025 user @ T_IP
И все работает как надо.
Требуется решение
Из соображений удобства использования и безопасности я бы хотел, чтобы пересылка выполнялась одним туннелем или хотя бы одной командой. В идеале, переадресованные порты не должны быть доступны от J. После прочтения некоторой документации по ssh и блогов я придумал следующую команду от L:
ssh -fNT -R T_IP:1025:127.0.0.1:1025 user@J_IP
Не работает Журналы sshd на J показывают успешную аутентификацию. Прежде всего, это правильно в теории? Должен ли я дополнительно настроить T?
NB: Обычно я делаю что-то похожее для прямого ssh на T с локальной переадресацией портов на моей машине, и я подумал, что это будет довольно похоже:
ssh -fNT -L [127.0.0.1:]2222:T_IP:22 user@J_IP
ssh -p 2222 user@localhost
Соответствующие сведения о конфигурации: J имеет следующие параметры в /etc /ssh /sshd_config:
AllowTcpForwarding yes
GatewayPorts yes
Выполненные тесты: Я также должен сказать, что я не эксперт по Linux, поэтому я не могу понять все возможные причины, по которым он не работает. Вот сценарии, в которых он был опробован:
- GatewayPorts да на Т
- Брандмауэр отключен на всех задействованных машинах
Версии: все задействованные машины используют centos/RHEL 7.5. openssh 7.4 используется. Результат сш-V:
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
Предложения
- Должен ли я иметь более экзотическое использование ssh, то есть использование ProxyCommand или RemoteCommand?
- Я пропускаю какую-то точку конфигурации, либо ОС, либо самого ssh?
PS: это мой первый вопрос по стеку, я, наверное, забыл ключевую информацию. Я постараюсь быть максимально реактивным в комментариях.