Я использую следующую команду для запуска нового экземпляра EC2:
knife ec2 server create -I ami-f0b11187 --ssh-key "mykeyid" -f t2.micro --ssh-user ubuntu --identity-file ~/.ssh/mykey.pem -z --no-host-key-verify --server-connect-attribute public_ip_address
Instance ID: i-3675f897
Flavor: t2.micro
Image: ami-f0b11187
Region: eu-west-1
Availability Zone: eu-west-1b
Security Groups: default
Tags: Name: i-3675f897
SSH Key: mykeyid
Waiting for EC2 to create the instance......
Public DNS Name: ec2-52-19-107-179.eu-west-1.compute.amazonaws.com
Public IP Address: 52.19.107.179
Private DNS Name: ip-172-31-41-56.eu-west-1.compute.internal
Private IP Address: 172.31.41.56
Waiting for sshd access to become available..done
Doing old-style registration with the validation key at ...
Delete your validation key in order to use your user credentials instead
Connecting to 52.19.107.179
ERROR: TypeError: no implicit conversion of nil into String
Любая подсказка, почему может произойти эта последняя строка? Экземпляр был создан, и теперь я могу подключиться по ssh, но knife ec2
здесь процесс прерывается, и я должен выполнить операцию начальной загрузки отдельно. Мне бы очень хотелось свести это к одной команде!
Причиной такого поведения может быть ненастроенный нож.
Я бы порекомендовал бежать
knife configure
Вам также необходимо иметь готовые файлы сертификатов, которые вы можете легко создать с помощью
openssl genrsa -des3 -out private.pem 2048