Назад | Перейти на главную страницу

Привязка обратного порта SSH к адресу

Итак, у меня есть настройка сценария для автоматического открытия SSH-соединения с моим сервером и обратного порта, перенаправляющего мне порт для SSH-подключений к моему домашнему рабочему столу. Этот сценарий всегда работал до тех пор, пока я не перенес серверы.

Суть в том, что я не могу привязать это соединение к внешнему IP-адресу, и я не уверен, почему.

Сценарий в основном запускает эту команду (я могу подтвердить, что эта команда с моими вложенными значениями дает тот же результат при запуске из оболочки):

sudo autossh -M 5114 -D 7474 -R servers_public_ip:2695:localhost:22 -i /home/user/.ssh/id_rsa2 remote@servers_public_ip

Когда я проверяю lsof, Я вижу следующие соединения, привязанные к remote пользователь:

sshd      27570   remote    3u  IPv4 161761      0t0  TCP servers_public_ip:22->67-213-103-227.eastlink.ca:62812 (ESTABLISHED)
sshd      27570   remote    7u  IPv6 161773      0t0  TCP ip6-localhost:5114 (LISTEN)
sshd      27570   remote    8u  IPv4 161774      0t0  TCP localhost:5114 (LISTEN)
sshd      27570   remote    9u  IPv6 161777      0t0  TCP ip6-localhost:2695 (LISTEN)
sshd      27570   remote   10u  IPv4 161778      0t0  TCP localhost:2695 (LISTEN)

Ни одна из этих привязок не находится на общедоступном IP-адресе сервера, за исключением моего ssh-соединения с сервером для запуска lsof. Это нормально работало на моем старом сервере. Я проверил sshd_config и включил AllowTcpForwarding явно. У меня заканчиваются идеи.

Ненавижу, когда это происходит, но после небольшого дополнительного исследования я могу ответить на свой вопрос.

Кажется, что sshd_config необходимо иметь GatewayPorts yes привязать к внешним адресам. Я, должно быть, пропустил это при переносе конфигураций.

Чтобы привязать его ко всем интерфейсам, используйте:

ssh -N -R 0.0.0.0:2695:localhost:22  root@example.com

Не забывайте редактировать /etc/ssh/sshd_config и перейти к GatewayPorts и включить это и установите его на yes