Чому я не можу віддалено підключитися до зворотного порту тунелю SSH, навіть якщо включений GatewayPorts?


20

Мені потрібен постійний доступ SSH до хоста в нашому відділі, IP-адреса якого динамічно розподіляється. Я встановив віддалений тунель SSH від цільового хоста до одного з наших хостів, який має статичну ip адресу:

ssh -f -N -g -R :22223:localhost:22 tunnelhost

Коли я вказую SSH на локальний порт 22223на хості тунелю, тунель працює добре. Моя проблема полягає в тому, що я, здається, не можу змусити тунель прив’язаний ні до чого іншого, крім localhost - тобто коли я намагаюся віддалено намагатися SSH tunnelhost:12323, немає відкритого порту, щоб його отримати. Я також спробував:

ssh -f -N -R :22223:localhost:22 tunnelhost -o GatewayPorts=yes

Але все одно не везе. Netstat показує мені:

[me@tunnel_host ~]$ netstat -an | grep 22223
tcp        0      0 127.0.0.1:22223         0.0.0.0:*               LISTEN
tcp6       0      0 ::1:22223               :::*                    LISTEN

Підтвердження того, що тунель прив’язаний лише до локального господаря. Я додав виключення порту на хості тунелю, з firewalld-cmd, і переконався, що жодне мережеве обладнання не заважає з'єднанню. Будь-які ідеї щодо того, що це може бути?

Ура, Джеймс.

Відповіді:


29

Вам потрібно включити GatewayPorts=yesв config для SSHd ( /etc/ssh/sshd_config), а не клієнта, щоб увімкнути прив'язку до інтерфейсів, відмінних від циклу зворотного зв'язку на віддалених портах.

-o GatewayPorts=yes

Працює лише для локальних портів, коли передано sshкоманду.


Дарт Android, Дякую за Вашу відповідь. Здається, ви правильні щодо -g та -o GatewayPorts, які працюють лише для (-L) окальних тунелів. Для повноти, ось трохи більше інформації про це питання, на випадок, якщо хтось інший натрапить на нього в майбутньому. bugs.debian.org/cgi-bin/bugreport.cgi?bug=228064
Джеймс Пол Тернер

3
GatewayPorts=clientspecifiedдещо безпечніший параметр, див. askubuntu.com/questions/50064/reverse-port-tunnelling . У цьому випадку :22223:localhost:2потрібна порожня адреса зв’язування (тривалість двокрапки в ).
Майкл Ґерц

1
Я заперечую, що GatewayPorts=clientspecifiedнастройка сама по собі не є більш захищеною, але, швидше, вона забезпечує більш високий контроль над тим, які з'єднання будуть прив’язані до wildcard, порівняно з простою прив'язкою їх до wildcard.
Нік

Також перезапустіть sshd після модифікації sshd_config (якщо ви забудете)
Nick

Будьте в курсі, що GatewayPorts=yesвідкриє порти, що пересилаються у світ.
ccpizza
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.