Issues trying to SSH into a fresh EC2 instance with Paramiko

后端 未结 5 2369
执念已碎
执念已碎 2021-02-14 14:28

I\'m working on a script that spins up a fresh EC2 instance with boto and uses the Paramiko SSH client to execute remote commands on the instance. For whatever reason, the Param

5条回答
  •  死守一世寂寞
    2021-02-14 14:51

    I recently ran into this issue. The "correct" way would be to initiate a close() first and then reopen the connection. However on older versions, close() was broken.

    With this version or later, it should be fixed: https://github.com/boto/boto/pull/412

    "Proper" method:

    newinstance = image.run(min_count=instancenum, max_count=instancenum, key_name=keypair, security_groups=security_group, user_data=instancename, instance_type=instancetype, placement=zone)
    time.sleep(2)
    newinstance.instances[0].add_tag('Name',instancename)
    
    print "Waiting for public_dns_name..."
    counter = 0
    while counter < 70:
        time.sleep(1)
        conn.close()
        conn = boto.ec2.connection.EC2Connection(ec2auth.access_key,ec2auth.private_key)
        startedinstance = conn.get_all_instances(instance_ids=str(newinstance.instances[0].id))[0]
        counter = counter + 1
        if str(startedinstance.instances[0].state) == "running":
            break
        if counter == 69:
            print "Timed out waiting for instance to start."
    print "Added: " + startedinstance.instances[0].tags['Name'] + " " + startedinstance.instances[0].public_dns_name
    

提交回复
热议问题