我正在尝试从方框B(Windows)访问在方框A(Debian)上运行的远程调试端口。在方框A上我运行带有--remote-debugging-port=9222
标记的Chrome,我可以看到它正常工作(我可以从A上的其他浏览器访问localhost:9222
。另外,我确定方框A和B是连接的,因为我可以从方框B访问框A上运行的:80
(apache)就好了。我现在需要做的是允许方框B在方框A上访问:9222
。我已经完成了对端口转发和iptables规则的研究,但我没能使它工作。
修改
机器B是Windows所以我不确定如何在那里使用ssh,我发现app端口转发似乎工作正常。它给了我一个错误:“收到连接但无法连接到主机-B:9222”。所以看起来9222不适合外部连接。来自A的netstat的输出给了我:
root@template:/home/developer# netstat -nap | grep 9222
tcp 0 0 127.0.0.1:9222 0.0.0.0:* LISTEN 24300/user
答案 0 :(得分:8)
我找到了答案here。一切都归结为:
google-chrome --remote-debugging-port=9222
ssh -L 0.0.0.0:9223:localhost:9222 localhost -N
http://192.168.1.123:9223/
答案 1 :(得分:1)
浏览器将套接字绑定到localhost地址。这就是访问端口时遇到问题的原因。
您可以借助ssh端口转发功能解决问题。
ssh user@host-A.example.org -L 9111:127.0.0.1:9222
运行此命令后,请在主机B上打开localhost:9111
ssh会将连接转发给主机A并将其连接到localhost:9222
答案 2 :(得分:1)
另一个解决方案是在nc
的帮助下转发主机A上的另一个端口