Я тоже столкнулся с этой проблемой. После нескольких развертываний инстансов EC2 я застрял (он работал буквально 1 ночь, а на следующее утро застрял).
Моим быстрым решением было войти в Amazon EC2, удалить пару ключей, связанную с моим развертыванием. IE:
EC2 = Fog::Compute.new provider: 'AWS',
region: REGION,
aws_access_key_id: AWS_ACCESS_KEY,
aws_secret_access_key: AWS_SECRET_KEY
Fog.credential = waffles
s = EC2.servers.bootstrap image_id: AMI_ID,
flavor_id: FLAVOR_ID,
private_key_path: '~/.ssh/id_rsa',
public_key_path: '~/.ssh/id_rsa.pub',
tags: { Name: TAGGED_NAME },
username: ROOT_USER
Это создаст пару ключей под названием «fog_waffles b6: 21: d1: 3d: 2b: b9: e7: 48: b9: 75: 50: 3f: 03: 5b: fb: 85». Удалите его, и вы сможете двигаться дальше.
Из того, что я могу сказать, пара ключей не обновляется / не заменяется, если вы создаете новый экземпляр с тем же именем пары ключей. Если вы удалите этот экземпляр, а затем создадите новый, используя новую пару ключей с тем же именем, возникнут проблемы.
Подробнее о парах ключей EC2
Дополнение
Я использую туман версии 1.9.
Если у вас есть несколько человек, создающих экземпляры, вы можете использовать что-то вроде этого:
EC2 = Fog::Compute.new provider: 'AWS',
region: REGION,
aws_access_key_id: AWS_ACCESS_KEY,
aws_secret_access_key: AWS_SECRET_KEY
Fog.credential = waffles
s = EC2.servers.bootstrap image_id: AMI_ID,
flavor_id: FLAVOR_ID,
private_key_path: '~/.ssh/id_rsa',
public_key_path: '~/.ssh/id_rsa.pub',
tags: { Name: TAGGED_NAME },
username: ROOT_USER
EC2.delete_key_pair("fog_waffles")
Это гарантирует, что пара ключей никогда не столкнется с конфликтом. Его можно удалить, поскольку он нужен только для развертывания экземпляра. Fog сбрасывает ваш открытый ключ в authorized_keys после развертывания экземпляра, что позволяет вам получить доступ к экземпляру.
Другой вариант - изменить Fog.credential, чтобы он был уникальным для каждого пользователя (вместо его удаления). IE:
Fog.credential = waffles_ryan
person
ryanjones
schedule
22.02.2013