2017-03-01 3 views
0

jcloudsを使用してjavaコードからgoogle計算インスタンスを起動しようとしています。これは主に動作しますが、jcloudsに新しいユーザー/キー資格を生成させる代わりに、私が定義したプロジェクト全体のSSHキーを使用したいと思います。次のいずれかが発生しなければならないssableなるように例えばGoogleがjcloudsを使用してプロジェクト全体のSSH鍵を計算する

:1 - プロジェクトのメタデータが適切に構築された「sshKeys」のエントリがあり、対応する秘密鍵があるhttps://github.com/apache/jclouds/tree/master/providers/google-compute-engine - ここREADMEによると

createNodesInGroupが呼び出されたときにGoogleComputeEngineTemplateOptionsで提供されます。 2 - 適切な公開鍵と秘密鍵を持つGoogleComputeEngineTemplateOptionsのインスタンスが提供されます。

私は上記の1)を実行しようとしています。私はプロジェクトのメタデータを正しく設定しましたが(jcloudsで生成された資格情報を持たない手動で作成されたインスタンスに接続するために使用できます)、そのキーをGoogleComputeEngineTemplateOptionsに提供する方法はありませんか?

GoogleComputeEngineTemplateOptions.Builder.installPrivateKey(String key)またはGoogleComputeEngineTemplateOptions.Builder.overrideLoginPrivateKey(String key)のいずれも動作していないようです。

ドキュメントは非常にまばらです - 誰でもそれを行う方法を知っていますか?

答えて

0

jcloudsは、キーを指定しないと、デフォルトで鍵を作成します。次のコマンドを使用して認証秘密鍵を提供し、新しい秘密鍵を生成しないようにjcloudsに指示することができます。

TemplateOptions opts = computeService.templateOptions() 
    .as(GoogleComputeEngineTemplateOptions.class) 
    .overrideLoginPrivateKey(privateKey) 
    .autoCreateKeyPair(false); 
+0

これはトリッキーでした。 – bobsyouruncle

関連する問題