【问题标题】:SSH tunnel on Google Compute Engine VM instance to a different host and portGoogle Compute Engine VM 实例上的 SSH 隧道到不同的主机和端口
【发布时间】:2014-04-24 12:47:36
【问题描述】:

我想在 Google Compute Engine VM 实例 (Debian) 上配置 SSH 隧道。对 VM 上端口 80 的请求应定向到不同主机上的端口 8888。 (SSH 使用另一台主机上的 2222 端口。)

我在虚拟机中输入这个命令:

$ sudo ssh root@mydyndnsdomain -L 80:mydyndnsdomain:8888 -p 2222 -N -4 -f

(当我在本地 Linux 服务器上运行相同的命令时,SSH 隧道工作)

...然后我可以验证 VM 是否正在使用 fuser 监听端口 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_CONNECTION_REFUSED

(端口 80 在我的 Google Compute Engine 网络中打开。我通过在端口 80 上运行 Apache2 服务器并浏览到 VM 的 IP 地址来验证这一点。它工作正常。)

我在这里错过了什么?

【问题讨论】:

  • 你能澄清一下你的local Linux serverVMdifferent servermydyndnsdomain是什么吗?它令人困惑,因为您指的是哪里。
  • local linux server 实际上是在我的 Windows 7 笔记本电脑上运行的 Cygwin。 VM 是 Google Compute Engine VM 实例。 mydyndnsdomain 是一个动态 DNS 域,映射到我的 NAS 服务器的非静态 IP 地址。

标签: google-compute-engine ssh-tunnel


【解决方案1】:

我猜想从您的 NAS 连接到您的外部 IP 不起作用,因为您的家庭路由器。 sudo ssh root@mydyndnsdomain -L 80:127.0.0.1:8888 -p 2222 -N -4 -f呢?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-22
    • 2017-10-20
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多