Мне требуется постоянный 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
Подтверждение того, что туннель привязан только к localhost. Я добавил исключение порта на хосте туннеля с помощью firewalld-cmd и убедился, что сетевое оборудование не мешает соединению. Любые идеи относительно того, что это может быть?
Ура, Джеймс.
GatewayPorts=clientspecified
это несколько более безопасный параметр, см. askubuntu.com/questions/50064/reverse-port-tunnelling . В этом случае:22223:localhost:2
требуется пустой адрес связывания (конечный двоеточие ).GatewayPorts=clientspecified
параметр не является более безопасным, скорее он позволяет лучше контролировать, какие соединения будут привязаны к шаблону, а не просто привязывать их все к шаблону.GatewayPorts=yes
откроет перенаправленные порты в мир.