我有一个现有的 AWS Ubuntu EC2实例(instance_2
),通过公共IP地址使用我自己的私钥/公钥进行远程ssh访问。我使用控制台从此实例创建AMI,然后使用此AMI启动新的EC2实例(instance_2
)。远程ssh到instance_1
(通过自己的公共IP地址)然后与instance_3
完全一样。
然后我使用 boto3 创建AMI而不是控制台,然后启动另一个EC2实例(instance_3
)。 arn:aws:iam::aws:policy/AdministratorAccess
上的ssh身份验证失败(权限被拒绝)。
使用boto3而不是控制台创建 AMI时,知道为什么行为不同? boto3使用的凭据允许使用策略ec2_client = boto3.client('ec2', region_name=region)
response = ec2_client.create_image(InstanceId=instance_id, Name=ami_name)
new_image_id = response['ImageId']
进行完全管理员访问。
创建AMI的代码:
%pyspark
答案 0 :(得分:0)
要诊断问题,请首先检查您尝试连接的EC2实例的密钥对。
如果一切都失败(很少见),您可以分离实例并将其转入标准卷,然后从另一个实例安装它以验证或替换~/.ssh/authorized_keys
。