Google compute engine 使用NodeJS将SSH连接到googlecompute实例,而不使用gcloud
我正在尝试从一个没有安装Google compute engine 使用NodeJS将SSH连接到googlecompute实例,而不使用gcloud,google-compute-engine,Google Compute Engine,我正在尝试从一个没有安装gcloud的环境(appengine标准NodeJS环境)创建一个SSH隧道到一个计算实例 要做到这一点,需要采取哪些步骤?gcloudcomputessh命令是如何实现的?是否有一个NodeJS库已经完成了这项工作?您可以在NodeJS中使用它。您可以在NodeJS中使用它。“gcloud compute ssh”为用户生成持久ssh密钥。公钥存储在项目或实例SSH密钥元数据中,来宾环境创建必要的本地用户并将~/.SSH/authorized_密钥放置在其主目录中。
gcloud
的环境(appengine标准NodeJS环境)创建一个SSH隧道到一个计算实例
要做到这一点,需要采取哪些步骤?gcloudcomputessh
命令是如何实现的?是否有一个NodeJS库已经完成了这项工作?您可以在NodeJS中使用它。您可以在NodeJS中使用它。“gcloud compute ssh”为用户生成持久ssh密钥。公钥存储在项目或实例SSH密钥元数据中,来宾环境创建必要的本地用户并将~/.SSH/authorized_密钥放置在其主目录中。
您可以手动将公钥添加到实例中,然后使用节点ssh库通过ssh连接到该实例。
或者,您可以在创建实例时为其设置启动脚本。
正如Cloud Ace所指出的,您可以使用ssh2模块实现node.js兼容性
“gcloud compute ssh”为用户生成持久ssh密钥。公钥存储在项目或实例SSH密钥元数据中,来宾环境创建必要的本地用户并将~/.SSH/authorized_密钥放置在其主目录中。
您可以手动将公钥添加到实例中,然后使用节点ssh库通过ssh连接到该实例。
或者,您可以在创建实例时为其设置启动脚本。
正如Cloud Ace所指出的,您可以使用ssh2模块实现node.js兼容性
通常,您需要先保留并分配一个(除非尝试从同一网络中使用SSH)。需要为端口
tcp/22
定义防火墙规则,然后可以将其作为“标签”应用于网络接口,该网络接口已分配外部IP
另一种方法适用于gcloud应用程序实例ssh
:
SSH到appengine灵活实例的VM中
这可能会减少安装的工作量和成本,因为GCP VM通常安装了
gcloud
。通常,您需要先保留并分配一个(除非尝试从同一网络中进行SSH)。需要为端口tcp/22
定义防火墙规则,然后可以将其作为“标签”应用于网络接口,该网络接口已分配外部IP
另一种方法适用于gcloud应用程序实例ssh
:
SSH到appengine灵活实例的VM中
这可能会减少安装的工作量和成本,因为GCP虚拟机通常安装了gcloud
。我创建了执行必要步骤的软件包:
为什么?
部分)为什么?
部分)这并不是gcloud compute ssh的全部功能,它还使用操作系统登录创建和添加私钥/公钥,而不是gcloud compute ssh的全部功能,它还使用OS loginIt创建和添加一个私钥/公钥,实际上它使用了一种叫做OS Login的东西—它存储特定服务帐户的公钥,而不是特定VM实例元数据。我希望有什么东西可以帮我做到这一切(比如
gcloud compute ssh
CLI命令),在官方文档之后,OS登录实际上被认为是连接到VM实例的一种高级方法。与“gcloud compute ssh”的工作方式无关。但正如您所评论的,此方法仍然需要gcloud库来连接到实例。官方文档详细介绍了这些方法的工作原理,它们是连接到GCP VM实例的唯一可用方法:它实际上使用了一种称为OS登录的方法—它存储特定服务帐户的公钥,而不是特定VM实例元数据。我希望有什么东西可以帮我做到这一切(比如gcloud compute ssh
CLI命令),在官方文档之后,OS登录实际上被认为是连接到VM实例的一种高级方法。与“gcloud compute ssh”的工作方式无关。但正如您所评论的,此方法仍然需要gcloud库来连接到实例。官方文档详细说明了这些方法是如何工作的,它们是连接到GCP VM实例的唯一可用方法:我实际上是希望SSH连接到一个普通VM,而不是一个应用引擎管理的VM。我实际上是希望SSH连接到一个普通VM,而不是一个应用引擎管理的VM