我正在尝试通过SSH隧道连接到在Google Cloud Platform上创建的VM。问题不在代码中,因为它适用于在不同平台上创建的其他VM。问题在于我编写的将jupyter笔记本连接到实例的代码运行了几分钟,而没有给我任何错误。
这是我的代码:
gcloud compute ssh $NODE --project=$PROJ --zone=$ZONE -- -fN -L $PORT:localhost:$PORT
代码中使用的信息(我是使用%%bash
魔术命令从jupyter笔记本中运行的)是正确的,我仍然不知道为什么代码需要这么多时间来建立连接(而事实并非如此)能够做到这一点)。
非常感谢
答案 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标志传递给命令。