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

我创建了执行必要步骤的软件包:

  • 使用创建私钥/公钥
  • 使用
  • SSH使用(特别是创建一个隧道,因为这是我需要的用例-请参阅包中的
    为什么?
    部分)
  • 使用删除公钥(以避免帐户溢出或保留安全访问权限)
  • 我创建了执行必要步骤的包:

  • 使用创建私钥/公钥
  • 使用
  • SSH使用(特别是创建一个隧道,因为这是我需要的用例-请参阅包中的
    为什么?
    部分)
  • 使用删除公钥(以避免帐户溢出或保留安全访问权限)

  • 这并不是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