有gcloud计算ssh'允许连接到Google Cloud实例并在控制台中执行命令的命令。我怎么能通过Java GCloud API做到这一点?
答案 0 :(得分:0)
尽管这并不是问题的本质,但在某些情况下,人们可能想打开SSH终端来启动实例。使用Java API的一种替代方法是附加一个startup-script
元数据值:
Metadata meta = new Metadata();
meta.put("startup-script", "#! /bin/bash\necho \"hello\"" );
instance.setMetadata(meta);
答案 1 :(得分:0)
要实现这一目标,您需要满足以下条件:
- 用于Java的SSH客户端库,例如 Java Secure Channel
- 使用此 tutorial
对SSH会话进行身份验证
根据教程,您将要学习:
当在您的实例上运行的应用程序需要对其他实例的SSH访问时,您可以管理服务帐户的SSH密钥对并以编程方式执行SSH命令。这是您需要的 guide 。
否则,如果您在Compute Engine实例外部运行此应用程序,则除非您手动提供服务帐户密钥,否则客户端库将无法访问服务帐户及其权限。这是您需要的 guide 。
请注意,我与您共享的教程中使用的 example 是Python。但是,对于Java应该相同。