Обратный туннель s sh не открывает порт на ec2 - PullRequest
0 голосов
/ 10 марта 2020

На этот вопрос, вероятно, уже дан ответ, и есть множество статей, показывающих, как сделать обратный туннель s sh. Однако я застрял на последнем шаге.

У меня есть Linux окно, которое запускает веб-службу на порту 8080. Это за NAT, и я не могу перенести порт с наложенных маршрутизаторов на него.

У меня есть бесплатный sh экземпляр Ubuntu 18 ec2 на AWS, и я использую следующую команду для обратного туннеля из моего Linux окна.

ssh -i "key.pem" -R \*:8080:\*:8080 ubuntu@ec2 -p 45332

EC2 s sh сервер прослушивает порт 45332

На сервере:

$ sudo lsof -i -P -n | grep LISTEN
systemd-r   650 systemd-resolve   13u  IPv4  15830      0t0  TCP 127.0.0.53:53 (LISTEN)
sshd        893            root    3u  IPv4  18322      0t0  TCP *:45332 (LISTEN)
sshd        893            root    4u  IPv6  18333      0t0  TCP *:45332 (LISTEN)
sshd      20731          ubuntu    9u  IPv6  75581      0t0  TCP [::1]:8080 (LISTEN)
sshd      20731          ubuntu   10u  IPv4  75582      0t0  TCP 127.0.0.1:8080 (LISTEN)

Если я выполняю curl localhost:8080 на Ec2, я получаю правильный веб-сервис ответ.

Но когда я делаю скручивание, используя DNS-имя Publi c IP / Publi c от того же ec2 или совершенно другого устройства, я получаю:

curl: (7) Не удалось подключиться к <<strong> IP > порту 8080: соединение отклонено

Я проверил свой VP C ACL и разрешил ВСЕ входящие и исходящие трафики c в группа безопасности.

Я убедился, что там правила брандмауэра не блокируют его:

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
45332/tcp                  ALLOW IN    Anywhere                  
45332/udp                  ALLOW IN    Anywhere                  
8080/tcp                   ALLOW IN    Anywhere                  
8080/udp                   ALLOW IN    Anywhere                  
45332/tcp (v6)             ALLOW IN    Anywhere (v6)             
45332/udp (v6)             ALLOW IN    Anywhere (v6)             
8080/tcp (v6)              ALLOW IN    Anywhere (v6)             
8080/udp (v6)              ALLOW IN    Anywhere (v6)

Когда это не сработало, я удалил s sh tunnel и напрямую запустили один и тот же веб-сервис на ec2. Это отлично работало.

Однако я хочу запустить службу из моего Linux окна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...