SSH-подключение к экземпляру GCLoud из Java
Существует команда gcloud compute ssh, которая позволяет подключаться к экземпляру Google Cloud и выполнять команды в консоли. Как я могу сделать это через Java GCloud API?
0 ответов
Для этого вам потребуется следующее:
- Клиентская библиотека SSH для Java, например Java Secure Channel
- Аутентифицируйте сеанс 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