Я пытаюсь запустить новый экземпляр EC2 с установленным на нем докером на AWS. Позже мне понадобится ssh в этот экземпляр. Я могу без проблем создать его:
docker-machine create --driver amazonec2 --amazonec2-region=eu-central-1 machine-ec2
Это создает новую машину, а также пару ключей. Проблема в том, что он не загружает файл .pem, который мне понадобится позже для ssh.
Таким образом, я попытался создать новую машину с существующей парой ключей. Я создал пару ключей, затем загрузил ее, скопировал в свою папку ./ssh/aws и запустил:
docker-machine create --driver amazonec2 --amazonec2-keypair-name=machine-aws-keypair --amazonec2-ssh-keypath=~/.ssh/aws/ --amazonec2-region=eu-central-1 machine-ec2
это дает мне ошибку:
Error creating machine: Error in driver during machine creation: unable to create key pair: open ~/.ssh/aws/: no such file or directory
equally: docker-machine create --driver amazonec2 --amazonec2-keypair-name=machine-aws-keypair --amazonec2-ssh-keypath=~/.ssh/aws/nameofmykeyfile.pem --amazonec2-region=eu-central-1 machine-ec2
Что-то я делаю не так или это проблема AWS? Я думаю, что первое ... Есть идеи, как это исправить? Помощь очень ценится. Заранее спасибо!
РЕДАКТИРОВАТЬ: было бы достаточно знать, как получить мой privatekey.pem при создании нового экземпляра через терминал ....
Я создал пару ключей, затем загрузил ее, скопировал в свою папку ./ssh/aws и запустил:
Этот путь означает папку с именем ssh
под .
(Текущий каталог)
невозможно создать пару ключей: open ~ / .ssh / aws /: нет такого файла или каталога
Этот путь означает папку с именем .ssh
под ~
(твой дом)
Попробуйте поместить ключи в ~ / .ssh / aws / и посмотрите, поможет ли это.
Оставим это для будущих читателей, которые борются с той же проблемой:
Итак, что на самом деле делает AWS при создании экземпляра с помощью командной строки, так это то, что он создает пару ключей и загружает ее на ваш локальный компьютер.
Узнать, где он находится, можно:
Список всех докер-машин docker-machine ls
Осмотрите машину экземпляра EC2 docker-machine inspect machinename
Это даст вам что-то вроде:
{
"ConfigVersion": 3,
"Driver": {
"IPAddress": "3.124.195.229",
"MachineName": "machine-ec2",
"SSHUser": "xxx",
"SSHPort": xxx,
"SSHKeyPath": "pathtokey/id_rsa",
"StorePath": "/Users/username/.docker/machine",
....
}
Чтобы подключиться по ssh к экземпляру EC2, выполните:
ssh -i "pathtokey/id_rsa" ubuntu@endpointofyourec2instance
И ты должен быть внутри.