Назад | Перейти на главную страницу

Не удается создать экземпляр EC2 с парами ключей для доступа по ssh

Я пытаюсь запустить новый экземпляр 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

И ты должен быть внутри.