Google compute engine 将Google计算引擎VM实例上的SSH隧道连接到其他主机和端口
我想在Google计算引擎VM实例(Debian)上配置一个SSH隧道。对VM上端口80的请求应定向到不同主机上的端口8888。(SSH在另一台主机上使用端口2222。) 我在VM中输入以下命令:Google compute engine 将Google计算引擎VM实例上的SSH隧道连接到其他主机和端口,google-compute-engine,ssh-tunnel,Google Compute Engine,Ssh Tunnel,我想在Google计算引擎VM实例(Debian)上配置一个SSH隧道。对VM上端口80的请求应定向到不同主机上的端口8888。(SSH在另一台主机上使用端口2222。) 我在VM中输入以下命令: $ sudo ssh root@mydyndnsdomain -L 80:mydyndnsdomain:8888 -p 2222 -N -4 -f (当我在本地Linux服务器上运行相同的命令时,SSH隧道工作) 。。。然后,我可以使用fuser验证VM是否正在侦听端口80: $ sudo fuse
$ sudo ssh root@mydyndnsdomain -L 80:mydyndnsdomain:8888 -p 2222 -N -4 -f
(当我在本地Linux服务器上运行相同的命令时,SSH隧道工作)
。。。然后,我可以使用fuser
验证VM是否正在侦听端口80:
$ sudo fuser 80/tcp
80/tcp: 6303
或使用netstat
:
$ netstat -a | grep "LISTEN"
tcp 0 0 localhost:http *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
unix 2 [ ACC ] SEQPACKET LISTENING 3120 /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 11464 /var/run/apache2/cgisock.4602
unix 2 [ ACC ] STREAM LISTENING 4827 /var/run/acpid.socket
但是当我浏览到虚拟机的IP地址时,我在Chrome中得到了ERR\u CONNECTION\u densed
(80端口是在我的谷歌计算引擎网络中打开的。我通过在80端口上运行Apache2服务器并浏览虚拟机的IP地址来验证这一点。它起作用了。)
我在这里遗漏了什么?我猜,由于您的家庭路由器,从NAS连接到外部IP不起作用。
那sudossh呢root@mydyndnsdomain-L 80:127.0.0.1:8888-p 2222-N-4-f?你能澄清什么是你的
本地Linux服务器
,虚拟机
,不同的服务器
和mydyndnsdomain
?您所指的位置令人困惑。本地linux服务器
实际上在我的Windows 7笔记本电脑上运行CygwinVM
是Google计算引擎VM实例mydyndnsdomain
是一个动态DNS域,映射到我的NAS服务器的非静态IP地址。