# #google-app-engine #google-cloud-platform #ssh #app-engine-flexible #ed25519
Вопрос:
Когда пользователь Google Cloud SDK ( gcloud
) выполняет:
gcloud app instances ssh
$AEF_INSTANCE_ID
--project $GCP_PROJECT_NAME
--service $AEF_APP_SERVICE_NAME
--version $AEF_APP_VERSION_NAME
#=>
WARNING: The private SSH key file for gcloud does not exist.
WARNING: The public SSH key file for gcloud does not exist.
WARNING: You do not have an SSH key for gcloud.
WARNING: SSH keygen will be executed to generate a key.
Generating public/private rsa key pair.
. . .
впервые генерируется ключ RSA:
ls -1 ~/.ssh/google_compute_*
#=>
google_compute_engine
google_compute_engine.pub
google_compute_known_hosts
Возможно ли в настоящее время использовать ED25519 вместо RSA?
Ответ №1:
Нет.
В настоящее время невозможно использовать ключ на основе ED25519 вместо ключа на основе RSA при входе в экземпляр работающей гибкой среды App Engine (AEF).
Другими словами, если бы вы должны были:
- удалите старый ключ RSA:
rm ~/.ssh/google_compute_*
- сгенерируйте ключ ED25519:
ssh-keygen -t ed25519 -C "$(whoami)@$(hostname) #=> Generating public/private ed25519 key pair. . . .
Примечание. Используйте абсолютный путь, когда запрашивается имя и расположение файла ключа; использование относительного пути возвращает следующую ошибку:
Не удалось сохранить ключ «~/.ssh/google_compute_engine»: такого файла или каталога нет
- и попытайтесь войти в работающий экземпляр гибкой среды App Engine (AEF) :
gcloud app instances ssh $AEF_APP_INSTANCE_ID --project $GCP_PROJECT_NAME --service $AEF_APP_SERVICE_NAME --version $AEF_APP_VERSION_NAME
вы получите следующую ошибку:
ОШИБКА: (gcloud.app.instances.ssh) НЕДОПУСТИМЫЙ аргумент: Недопустимый SSH — ключ «$(whoami):ssh-ed25519 $ED25519_ПУБЛИКАЦИОННЫЙ КЛЮЧ $(whoami)». Ожидается «[ИМЯ ПОЛЬЗОВАТЕЛЯ]:ssh-rsa [ЗНАЧЕНИЕ КЛЮЧА] [ИМЯ ПОЛЬЗОВАТЕЛЯ]» или [ИМЯ ПОЛЬЗОВАТЕЛЯ]:ssh-rsa [ЗНАЧЕНИЕ КЛЮЧА] google-ssh {«ИМЯ пользователя»:»[ИМЯ ПОЛЬЗОВАТЕЛЯ]»,»СРОК действия»:»[ВРЕМЯ ИСТЕЧЕНИЯ]»}.
Если указано время истечения срока действия, пожалуйста, обратитесь к RFC3339 для правильного формата.
Тем не менее, вы можете найти активный запрос на эту функцию здесь.