我正在继承一些devops代码,该代码具有一些端口转发调用,如下所示:
server = 180.10.0.1 # fake IP
ssh ubuntu@' + server + ' -L2222:localhost:2222 -L 27017:some_docker.amazonaws.com:27017'
我真的很难弄清楚这里发生了什么。因此,据我了解,端口2222
或server
上的流量被重定向到本地计算机上的端口2222
。但是,我不确定在27017
上运行的Docker映像的端口server
发生了什么。是否将其重定向到主机的端口27017
?
端口27017已转发到mongo / document db主机。这样做是为了使mongo驱动程序能够与远程数据库进行对话。
-Lport:host:hostport
在本地计算机上打开监听套接字(已在其中运行ssh命令)。如果打开了连接,它将通过隧道传送到远程端并连接到host:hostport。所以2222是仅侦听远程计算机上的localhost。使用此隧道,即使远程计算机上的套接字仅在localhost上侦听,也可以从本地计算机通过端口(2222)连接到该隧道。第二部分是相似的,只是host:hostport是另一台机器,即仅可从您通过SSH连接的主机上访问:
A-[ssh]-> B ---> C