Google 使用 jclouds 计算项目范围的 SSH 密钥
Google compute project-wide SSH keys with jclouds
我正在尝试使用 jclouds 从 java 代码启动 google 计算实例。它主要工作,但我想使用我定义的项目范围的 SSH 密钥,而不是让 jclouds 生成新的 user/key 凭证。
根据此处的自述文件 - https://github.com/apache/jclouds/tree/master/providers/google-compute-engine:
For an instance to be ssable one of the following must happen: 1 - the project's metadata has an adequately built "sshKeys" entry and a corresponding private key is provided in GoogleComputeEngineTemplateOptions when createNodesInGroup is called. 2 - an instance of GoogleComputeEngineTemplateOptions with an adequate public and private key is provided.
我正在尝试执行上面的 1)。我已经正确配置了项目的元数据(我可以使用它连接到没有 jclouds 生成的凭据的手动创建的实例),但我不知道如何向 GoogleComputeEngineTemplateOptions 提供该密钥?
都没有
GoogleComputeEngineTemplateOptions.Builder.installPrivateKey(String key)
或 GoogleComputeEngineTemplateOptions.Builder.overrideLoginPrivateKey(String key)
似乎有效。
文档非常稀少 - 有人知道怎么做吗?
如果您不提供密钥,jclouds 将默认创建一个密钥。您可以使用以下内容提供您的身份验证私钥并告诉 jclouds 不要生成新私钥:
TemplateOptions opts = computeService.templateOptions()
.as(GoogleComputeEngineTemplateOptions.class)
.overrideLoginPrivateKey(privateKey)
.autoCreateKeyPair(false);
我正在尝试使用 jclouds 从 java 代码启动 google 计算实例。它主要工作,但我想使用我定义的项目范围的 SSH 密钥,而不是让 jclouds 生成新的 user/key 凭证。
根据此处的自述文件 - https://github.com/apache/jclouds/tree/master/providers/google-compute-engine:
For an instance to be ssable one of the following must happen: 1 - the project's metadata has an adequately built "sshKeys" entry and a corresponding private key is provided in GoogleComputeEngineTemplateOptions when createNodesInGroup is called. 2 - an instance of GoogleComputeEngineTemplateOptions with an adequate public and private key is provided.
我正在尝试执行上面的 1)。我已经正确配置了项目的元数据(我可以使用它连接到没有 jclouds 生成的凭据的手动创建的实例),但我不知道如何向 GoogleComputeEngineTemplateOptions 提供该密钥?
都没有
GoogleComputeEngineTemplateOptions.Builder.installPrivateKey(String key)
或 GoogleComputeEngineTemplateOptions.Builder.overrideLoginPrivateKey(String key)
似乎有效。
文档非常稀少 - 有人知道怎么做吗?
如果您不提供密钥,jclouds 将默认创建一个密钥。您可以使用以下内容提供您的身份验证私钥并告诉 jclouds 不要生成新私钥:
TemplateOptions opts = computeService.templateOptions()
.as(GoogleComputeEngineTemplateOptions.class)
.overrideLoginPrivateKey(privateKey)
.autoCreateKeyPair(false);