You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法SSH连接使用Boto创建的AWS EC2实例问题咨询

问题分析与解决方案

核心问题:创建实例时未关联新密钥对

你当前的Boto创建实例代码缺少KeyName参数,导致新启动的EC2实例没有和你下载的新.pem密钥对绑定,这是SSH连接挂起的主要原因之一。

修改Boto创建实例代码

在create_instances方法中添加KeyName参数,值为你在EC2控制台创建的密钥对的名称(注意是控制台显示的密钥对名称,不是本地.pem文件的文件名):

instances = ec2.create_instances(
            ImageId=image_id,
            MinCount=1,
            MaxCount=num_instances,
            InstanceType=instance_type,
            KeyName='你的密钥对名称',  # 添加这一行
            IamInstanceProfile={ 'Name': 'SSMInstanceProfile' },
            Placement={'AvailabilityZone': availability_zone}
)

关于SSMInstanceProfile与.pem的关联

不需要将SSMInstanceProfile和.pem密钥关联。SSMInstanceProfile是用于AWS Systems Manager管理实例的权限配置,和SSH连接使用的密钥对没有直接关系,SSH连接只依赖实例创建时绑定的密钥对、安全组规则以及网络可达性。

额外排查点(SSH挂起的其他可能原因)

  • 安全组规则:确保实例所属的安全组允许入站的22端口(建议限制为你的本地IP,而非全开放)。
  • 公网IP配置:确认实例已分配公网IPv4地址,若没有,可手动分配弹性IP,或检查实例所在子网的“自动分配公网IP”是否开启。
  • 本地.pem文件权限:执行chmod 400 /path/to/private/key.pem,SSH要求私钥文件权限不能过宽,否则会拒绝连接。

内容的提问来源于stack exchange,提问作者intrigued_66

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 11:48:08