SSH-подключение к экземпляру GCLoud из Java

Существует команда gcloud compute ssh, которая позволяет подключаться к экземпляру Google Cloud и выполнять команды в консоли. Как я могу сделать это через Java GCloud API?

0 ответов

Для этого вам потребуется следующее:

  1. Клиентская библиотека SSH для Java, например Java Secure Channel
  2. Аутентифицируйте сеанс SSH с помощью этого руководства

Основываясь на учебнике, которому вы собираетесь следовать:

Чтобы запустить приложение SSH на экземпляре

Когда приложениям, работающим на ваших экземплярах, требуется доступ SSH к другим экземплярам, ​​вы можете управлять парами ключей SSH для своей учетной записи службы и программно выполнять команды SSH. Это руководство, которое вам нужно.

Запуск приложения SSH вне Compute Engine

В противном случае, если вы запустите это приложение вне экземпляра Compute Engine, клиентская библиотека не сможет получить доступ к учетной записи службы и ее разрешениям, если вы не предоставите ключ учетной записи службы вручную. Это руководство, которое вам нужно.


Обратите внимание, что в примере, использованном в учебнике, которым я с вами поделился, используется Python; тем не менее, для Java должно быть то же самое.

Хотя это не совсем то, что задает вопрос, в некоторых случаях может потребоваться открыть терминал 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

Другие вопросы по тегам