簡體   English   中英

通過以下腳本啟動時無法通過 ssh 進入啟動的 ec2 實例,但在從 AWS 頁面啟動時能夠通過 ssh

[英]unable ssh into launched ec2 instance when launched through below script, but able to ssh when launched from AWS page

我最近開始學習 AWS EC2 服務,昨天我剛剛啟動了一個描述我的啟動配置的 EC2 實例(附上審查啟動配置),我能夠成功 ssh 到我的 pem 文件中,但我也想使用 boto3 python 啟動 EC2 實例,我做到了。 但是我無法通過 ssh 進入通過以下腳本啟動的 EC2 實例。

#!/usr/bin/python

import boto3
client = boto3.client('ec2')
response = client.run_instances(
BlockDeviceMappings=[
    {
        'DeviceName' :'/dev/xvda',
        'Ebs' : {
            'DeleteOnTermination' : True,
        },
    },
    ],

ImageId= 'ami-04590e7389a6e577c',
InstanceType= 't2.micro',
KeyName= 'ec2-keypair',
MaxCount = 1,
MinCount = 1,
Monitoring={
    'Enabled' : False
},

 )

for instance in response['Instances']:
     print(instance['InstanceId'])

上面的腳本能夠啟動 EC2 實例,但我無法從 ubuntu 子系統登錄。

到目前為止完成的故障排除:獲取了我從 AWS 頁面啟動的 EC2 的詳細信息,使用了上面的client.describe_instances()和定義的client.run_istances()

請教一下,如果我通過上面的腳本啟動 EC2 實例,為什么我無法 ssh,而從 AWS 頁面啟動時我可以 ssh EC2。

我非常感謝您在這方面的專業知識。

安全組

您的run_instances()未顯示要附加的安全組。 因此,將無法訪問。

通過管理控制台啟動 Amazon EC2 實例時,會提供一個默認的“啟動向導”安全組,其中包括 SSH(端口 22)入站訪問,如您的問題所示。

如果您想允許通過代碼啟動的實例執行此操作,則需要引用已打開所需端口的現有安全組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM