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

ssh-туннелирование заблокированного порта (ммх)?

Мои iptables блокируют все, кроме нескольких портов, таких как 80, 22 и т. Д.

На нем работает мой сервлет Java. Мне нужно подключиться к этому сервлету с помощью jconsole. Я не хочу разрешать внешние подключения для портов jmx. Я должен быть единственным, кто сможет подключиться.

Можно ли каким-то образом туннелировать эти заблокированные порты jmx через ssh, чтобы я мог подключиться к процессу с моего ноутбука? (У меня нет постоянного IP-адреса на моем ноутбуке)

PS. такие команды, как: ssh -L 2100:localhost:2100 -L 2099:localhost:2099 здесь не работает. Если брандмауэр активен, он не позволит подключиться к этим портам.

Я только что протестировал это, и он работал нормально;

  1. SSH к удаленному компьютеру и запуск netcat;

    nc -l -p 7878

  2. Откройте новое окно терминала и создайте порт SSH для переадресации на удаленный компьютер:

    ssh -N -L 7878:localhost:7878 user@1.2.3.4

  3. Откройте третье окно терминала и подключитесь к удаленному хосту через мой адрес обратной связи:

    telnet 127.0.0.1 7878

Любой ввод текста в этом третьем окне отображается в моих сеансах netcat в первом окне.

Простой сценарий bash может перенаправить пакет портов или использовать параметр SSH -D. Также -C для сжатия.