Я достиг большого прогресса.AWS Python - Windows - запуск скрипта после создания экземпляра
Мой импорт:
import boto.rds as rds
import boto3 as b3
import boto.ec2 as ec2
from boto.manage.cmdshell import sshclient_from_instance
Я могу подключиться к АМС с помощью:
conn = boto.ec2.connect_to_region('us-west2',aws_access_key_id='MY_ID', aws_secret_access_key='MY_PASS')
Я могу создать экземпляр с помощью:
conn_args = {
'aws_access_key_id': 'MY_KEY',
'aws_secret_access_key': 'MY_PASS',
'region_name': 'us-west-2'
}
ec2_res = b3.resource('ec2', **conn_args)
new_instance = ec2_res.create_instances(
ImageId='ami-123456',
MinCount=1,
MaxCount=1,
InstanceType='t2.micro',
KeyName='my-keyname',
SecurityGroups=[
'my-securitygroup'
]
)
Теперь, когда я пытаюсь запустите команду в моем новом экземпляре, я ударяю головой о стену.
Я пытаюсь что-то вроде:
ssh_client = sshclient_from_instance(instance,
'C:\\users\\%USER%\\aws\\windows-west-keypair.pem',
user_name='Administrator')
status, stdout, stderr = ssh_client.run('cd')
Но я вернусь:
C:\Users\%USER%\Miniconda\lib\site-packages\paramiko\hostkeys.pyc in load(self, filename)
93 :raises IOError: if there was an error reading the file
94 """
---> 95 with open(filename, 'r') as f:
96 for lineno, line in enumerate(f, 1):
97 line = line.strip()
IOError: [Errno 2] No such file or directory: 'C:\\Users\\%USER%/.ssh/known_hosts'
Подключение через SSH к моему AWS экземпляр новая вещь для меня, так что я не ожидаю, что в быть каталогом/файлом.
Что мне нужно, чтобы быть там? Есть ли что-нибудь, что мне нужно установить заранее? Что именно происходит неправильно?
Я чувствую себя так близко, но до сих пор!
Любая помощь будет отличной.
Является ли это экземпляром Windows? – error2007s
@ error2007s Да, это экземпляр Windows. –
Вы не можете Ssh в экземпляр Windows, используя файл pem, проверьте эти шаги для подключения к экземпляру AWS Windows EC2 http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-rdp.html – error2007s