Команда gcloud compute scp
не поддерживает Google Cloud Shell в качестве источника / цели.
Компания Google недавно добавила новые команды в альфа-версию gcloud
, которые поддерживают Cloud Shell.
gcloud alpha cloud-shell scp cloudshell:~/REMOTE-DIR localhost:~/LOCAL-DIR
Проблема с использованием этой команды внутри виртуальной машиныНапример, виртуальные машины используют учетные данные учетной записи службы.Cloud Shell назначается / создается на основе учетных данных пользователя.Для каждого идентификатора пользователя существует отдельный экземпляр Cloud Shell, созданный на лету.С помощью учетной записи службы вы не можете определить Cloud Shell, с каким экземпляром вы хотите взаимодействовать.Это означает, что создается новый экземпляр Cloud Shell, не сопоставленный с идентификатором пользователя.
Примечание. Похоже, что API может поддерживать это в будущем, но в текущей реализации нет метода для указания пользователя.имя или учетные данные OAuth.
Вам необходимо использовать учетные данные пользователя (OAuth 2.0) для взаимодействия с Cloud Shell.Если у вас нет рабочего стола с графическим интерфейсом для запуска веб-браузера внутри экземпляра виртуальной машины, вы не можете создавать учетные данные пользователя, подходящие для аутентификации Google Cloud Shell.
Вы можете ограничить себя копированием файлов в / из экземпляра виртуальной машины с помощью командв экземпляре Cloud Shell или посмотрите на программу, которую я только что выпустил, которая реализует CLI для Cloud Shell.Если вы выбрали второй метод, выполните аутентификацию в Cloud Shell со своего рабочего стола, а затем скопируйте файл user_credentials.json с моей программой в ваш экземпляр виртуальной машины.Тогда у вас есть довольно мощный инструмент командной строки для взаимодействия с Cloud Shell.
CLI Google Cloud Shell