3

有 'gcloud compute ssh' 命令允许连接到 Google Cloud 实例并在控制台中执行命令。我怎样才能通过 Java GCloud API 做到这一点?

4

2 回答 2

0

为此,您需要以下内容:

  1. 用于 Java 的 SSH 客户端库,例如Java 安全通道
  2. 使用本教程验证 SSH 会话

根据您将要遵循的教程:

在实例上运行 SSH 应用程序

当您的实例上运行的应用程序需要对其他实例进行 SSH 访问时,您可以管理服务帐户的 SSH 密钥对并以编程方式执行 SSH 命令。这是您需要的指南。

在 Compute Engine 之外运行 SSH 应用

否则,如果您在 Compute Engine 实例之外运行此应用程序,则客户端库无法访问服务帐户及其权限,除非您手动提供服务帐户密钥。这是您需要的指南。


请注意,我与您分享的教程中使用的示例使用的是 Python;尽管如此,Java 应该是一样的。

于 2019-09-16T13:30:12.427 回答
0

尽管这并不是问题所要问的,但在某些情况下,当实例出现时,可能需要打开一个 SSH 终端来启动某些东西。使用 Java API 的一种替代方法是附加startup-script元数据值:

Metadata meta = new Metadata();
meta.put("startup-script", "#! /bin/bash\necho \"hello\"" );
instance.setMetadata(meta);

文档: https ://cloud.google.com/compute/docs/startupscript

于 2019-09-15T03:29:54.430 回答