到Google Cloud Platform上创建的VM的SSH隧道不起作用

时间:2019-04-10 11:35:42

标签: python ssh google-cloud-platform jupyter-notebook virtual-machine

我正在尝试通过SSH隧道连接到在Google Cloud Platform上创建的VM。问题不在代码中,因为它适用于在不同平台上创建的其他VM。问题在于我编写的将jupyter笔记本连接到实例的代码运行了几分钟,而没有给我任何错误。

这是我的代码: gcloud compute ssh $NODE --project=$PROJ --zone=$ZONE -- -fN -L $PORT:localhost:$PORT

代码中使用的信息(我是使用%%bash魔术命令从jupyter笔记本中运行的)是正确的,我仍然不知道为什么代码需要这么多时间来建立连接(而事实并非如此)能够做到这一点)。 非常感谢

1 个答案:

答案 0 :(得分:0)

首先,您需要一个计算实例来路由所有流量通过它。如果有现有实例,则可以使用它,也可以通过Google Cloud Platform Console或gcloud创建一个新的名为tunnel的计算实例:

gcloud compute instances create --zone us-west1-a tunnel

在计算机的本地端口(例如5000)上启动SSH隧道,该隧道连接到其SSH端口22上的GCE实例:

gcloud compute ssh --zone us-west1-a tunnel -- -N -p 22 -D localhost:5000

此命令在macOS,Windows和Linux上开箱即用,并启动可以用作SOCKS代理的SSH隧道。该命令将一直运行直到终止,这将关闭隧道。如果您希望在后台运行它,则将附加的-f标志传递给命令。