Я пытаюсь настроить обратный туннель ssh следующим образом:
A ==========> B <----X---- C
Я начинаю туннель из A
с участием:
ssh -p 443 -NR 19001:localhost:21 userOnB@B
За компьютером B
Я могу использовать туннель, если использую:
ssh -p 19001 userOnA@localhost
Но если я подключаюсь к B
с его именем, IP-адресом или другим компьютером (скажем C
) Я получаю ssh: connect to host port 19001: Connection refused
.
Что случилось?
По умолчанию конечные точки туннеля прослушивают только 127.0.0.1, поэтому к ним нельзя получить доступ с других машин. Чтобы изменить это, вам сначала нужно добавить это в /etc/ssh/sshd_config
на сервере:
GatewayPorts clientspecified
а затем при создании туннеля укажите адрес прослушивания как 0.0.0.0:
ssh -p 443 -NR 0.0.0.0:19001:localhost:21 userOnB@B