2016-09-28 82 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])