Google compute engine 将Google计算引擎VM实例上的SSH隧道连接到其他主机和端口

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

我想在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 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笔记本电脑上运行Cygwin
VM
是Google计算引擎VM实例
mydyndnsdomain
是一个动态DNS域,映射到我的NAS服务器的非静态IP地址。