2016-09-28 86 views
0

我已经使用Boto 22接口创建了一个实例,我的连接参数包括key_id和access_key以及一个授权使用以下内容的新安全组。Boto3不允许使用SSH的实例

security_group.authorize_ingress(IpProtocol="tcp",CidrIp="0.0.0.0/0",FromPort=22,ToPort=22)

创建的实例与

instance = ec2.create_instances(ImageId='ami-5b41123e', KeyName='test_pair57', InstanceType="t2.micro", MinCount=1, MaxCount=1)

我设定的程序在一个while循环等待,直到它找到状态运行的实例。但是,我仍然无法SSH进入公共IP地址,然后打印出来。连接总是超时。我已经尝试指定端口,但这并没有改变它。

我是否需要将我的新密钥对的指纹传给某个地方,或者是否有其他的东西丢失?

+1

的信息很多缺失。 ssh-ing时你使用了私钥吗?什么Linux发行版?发布您使用的命令。 – helloV

+1

您是否尝试通过AWS管理控制台使用相同的设置启动实例,以查看它是否有效?如果有效,您可以将这种差异与您的非工作实例进行比较。如果它不起作用,那么它与boto无关,它与您的设置有关。这是什么AMI - 是你的还是AWS的?实例是否在公共子网中启动?你可以连接到同一个VPC和子网中的其他实例吗?您可以提供的更多信息将有助于我们为您提供帮助。 –

回答

0

我的安全设置不正确。在AWS在线界面中检查它们可以让我验证设置并向我显示问题。

我需要我创建的安全设置添加到该实例,像这样:

instance = ec2.create_instances(ImageId=image.id, KeyName='test_pair' + str(rand), InstanceType="t2.micro", MinCount=1, MaxCount=1, SecurityGroupIds=[security_group.id])