Можно ли использовать облачную оболочку Google через ssh?

Можно ли подключиться к экземпляру Google Cloud Shell через ssh? Может как-то с gcloud? Поэтому я могу использовать его с моим любимым терминалом (в частности, с iTerm), а не с веб-оболочкой.

Ответ: да, теперь это возможно https://cloud.google.com/blog/products/gcp/introducing-the-ability-to-connect-to-cloud-shell-from-any-terminal

Ответ 1

Если вы разрабатываете или администрируете приложения, работающие на Google Cloud Platform (GCP), вы, вероятно, знакомы с Cloud Shell, интерактивной оболочкой по требованию, которая содержит широкий набор предустановленных инструментов для разработчиков. До сих пор вы могли получить доступ к Cloud Shell только через браузер.

С 19 марта у вас есть возможность подключаться к Cloud Shell напрямую с вашего терминала с помощью инструмента командной строки gcloud.

Запуск сеанса SSH выполняется одной командой:

[email protected]:~$ ls
Desktop
[email protected]:~$ gcloud alpha cloud-shell ssh
Welcome to Cloud Shell! Type "help" to get started.
[email protected]:~$ ls
server.py  README-cloudshell.txt

Вы также можете использовать gcloud для копирования файлов между облачной оболочкой и локальным компьютером:

[email protected]:~$ gcloud alpha cloud-shell scp cloudshell:~/data.txt localhost:~
data.txt                                           100% 1897    28.6KB/s   00:00
[email protected]:~$

Если вы используете Mac или Linux, вы можете даже смонтировать домашний каталог Cloud Shell в локальную файловую систему после установки sshfs. Это позволяет вам редактировать файлы в вашем домашнем каталоге Cloud Shell, используя любые локальные инструменты, которые вы хотите! Все данные в удаленно смонтированной файловой системе хранятся на постоянном диске, поэтому они быстрые, строго согласованные и сохраняются в разных сеансах и регионах.

[email protected]:~$ gcloud alpha cloud-shell get-mount-command ~/my-cloud-shell
sshfs [email protected]: /home/ekuefler/my-cloud-shell -p 6000 -oIdentityFile=/home/ekuefler/.ssh/google_compute_engine
[email protected]:~$ sshfs [email protected]: /home/ekuefler/my-cloud-shell -p 6000 -oIdentityFile=/home/ekuefler/.ssh/google_compute_engine
[email protected]:~$ cd my-cloud-shell
[email protected]:~$ ls
server.py  README-cloudshell.txt
[email protected]:~$ vscode server.py

Мы уверены, что вы найдете множество вариантов использования этих функций, но вот несколько, чтобы вы начали:

  • Используйте его как игровую площадку - используйте инструменты и языковые среды выполнения, установленные в Cloud Shell, чтобы проводить быстрые эксперименты без необходимости устанавливать программное обеспечение на свой компьютер.
  • Используйте его как "песочницу" - устанавливайте или запускайте ненадежные программы в Cloud Shell без риска того, что они повредят ваш локальный компьютер или прочитают ваши данные, или во избежание загрязнения вашего компьютера программами, которые вам редко нужно запускать.
  • Используйте его в качестве переносимой среды разработки - храните свои файлы в своем домашнем каталоге Cloud Shell и редактируйте их, используя ваши любимые IDE, когда вы находитесь за рабочим столом, а затем продолжайте работать над теми же файлами позже из Chromebook с помощью веб-терминала и редактора.

Полная документация для интерфейса командной строки доступна здесь. Группа команд cloud-shell в настоящее время находится в альфа-версии, поэтому мы все еще вносим в нее изменения и приветствуем ваши отзывы и предложения по ссылке обратной связи в нижней части страницы документации.

Ответ 2

Нет, ты не можешь. По крайней мере, это нигде не задокументировано. Тем не менее, вы можете запустить свой собственный экземпляр Google Compute Engine и ssh в него, используя любой ssh-клиент, поддерживающий вход по ключам.

Обновление: этот ответ устарел - смотрите ответ от @Pentium10

Ответ 3

Вы можете подключиться к vpn из оболочки облака, поместить нужный двоичный файл в свой домашний каталог и записать необходимые сценарии запуска (подключиться к vpn и запустить демон и т.д.) поверх файла .bashrc, чтобы он выполнялся когда вы запускаете оболочку из своего браузера.

Я также предлагаю использовать mosh, потому что маршрутизация таким образом довольно ужасна и, возможно, запускает ssh без шифрования, поскольку vpn уже зашифрован.

Вы также можете набивать сердцебиение, чтобы сохранить оболочку в живых, но это, вероятно, слишком много в abuseland, имея прикрепленную вкладку для облачной оболочки, кажется мне достаточно хорошим.