Мои iptables блокируют все, кроме нескольких портов, таких как 80, 22 и т. Д.
На нем работает мой сервлет Java. Мне нужно подключиться к этому сервлету с помощью jconsole. Я не хочу разрешать внешние подключения для портов jmx. Я должен быть единственным, кто сможет подключиться.
Можно ли каким-то образом туннелировать эти заблокированные порты jmx через ssh, чтобы я мог подключиться к процессу с моего ноутбука? (У меня нет постоянного IP-адреса на моем ноутбуке)
PS. такие команды, как: ssh -L 2100:localhost:2100 -L 2099:localhost:2099
здесь не работает. Если брандмауэр активен, он не позволит подключиться к этим портам.
Я только что протестировал это, и он работал нормально;
SSH к удаленному компьютеру и запуск netcat
;
nc -l -p 7878
Откройте новое окно терминала и создайте порт SSH для переадресации на удаленный компьютер:
ssh -N -L 7878:localhost:7878 user@1.2.3.4
Откройте третье окно терминала и подключитесь к удаленному хосту через мой адрес обратной связи:
telnet 127.0.0.1 7878
Любой ввод текста в этом третьем окне отображается в моих сеансах netcat в первом окне.
Простой сценарий bash может перенаправить пакет портов или использовать параметр SSH -D. Также -C для сжатия.