Вот некоторые предложения:
Я надеюсь, что это помогает (могут быть другие места, которые я не учел, но к тому времени, когда Вы прошли все вышеупомянутое, я вполне уверен, Вы поймете это).
Если Вы хотите, чтобы-R переданный порт на сервере B был достижим с сервера A, необходимо указать связывание адресного на сервере B слева от удаленного порта. Например, если B имеет адрес 1.2.3.4, и Вы соединяетесь от ноутбука:
laptop:~ $ ssh -R 1.2.3.4:10443:127.0.0.1:443 server-b
Это передаст порт 10443 на сервере-b к 443 на ноутбуке. Если Вы хотите использовать порт 443 вместо этого, войти в систему к серверу-b как корень.
Что-то вроде предположения, что Вы уже имеете:
запустите с обратного туннеля:
serverA:~ $ ssh -R 22:localhost:10022 serverB
затем от Ноутбука соединяются с serverB также и соединяют локальное вперед для порта, который Вы определили в реверсе вперед:
laptop:~ $ ssh -L 10023:localhost:10022 serverB
если я понял Вас правильно, что-то как этот - часть, которую Вы уже сделали. И теперь к последней части:
соединитесь с localhost на порте, который Вы использовали в локальном вперед, это отправляет все пакеты непосредственно в serverA, укажите другой порт вперед, таким образом, Ваше приложение может соединиться с serverA
laptop:~ $ ssh -p 10023 -L 10443:localhost:443 localhost
если Ваше Приложение должно соединиться с 443, и не можете, использовал другой порт что касается примера 10443, который я использовал в примере, необходимо будет сделать последнее соединение как корень:
laptop:~ $ su -
laptop:~ # ssh -p 10023 -L 443:localhost:443 user@localhost
или
laptop:~ $ sudo ssh -p 10023 -L 443:localhost:443 user@localhost
Некоторые объяснения:
Если у Вас есть доступ SSH к Серверу A, то сделайте что-то как ssh-L 8443:localhost:443, user@serverA должен работать. Затем можно использовать https://localhost:8443 для соединения.