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

如何解决amazon-ebs:SSH等待超时(Blackhole状态)问题?

Packer构建AWS镜像时SSH超时问题排查与解决

问题重现

运行Packer构建Amazon EBS镜像时,持续出现SSH超时错误:

==> amazon-ebs: Terminating the source AWS instance...
==> amazon-ebs: Cleaning up any extra volumes...
==> amazon-ebs: No volumes to clean up, skipping
==> amazon-ebs: Deleting temporary security group...
==> amazon-ebs: Deleting temporary keypair...
Build 'amazon-ebs' errored after 6 minutes 23 seconds: Timeout waiting for SSH.
==> Some builds didn't complete successfully and had errors:
--> amazon-ebs: Timeout waiting for SSH.

已进行的操作:删除默认VPC,创建带子网的新VPC,并在Packer JSON配置中添加如下参数,但问题依旧:

"vpc_id": "vpc-0bb5a477b899e995d",
"subnet_id": "subnet-00934a52461387401"

同时已检查VPC及路由表配置。

排查与解决步骤

1. 确认子网的公网访问能力

  • 确保使用的是公有子网:路由表中必须存在0.0.0.0/0指向Internet Gateway(IGW)的路由条目。若使用私有子网,需配置NAT Gateway并在Packer中添加跳板机代理配置。
  • 检查子网的「自动分配公有IP」选项是否开启:若未开启,需在Packer配置中添加"associate_public_ip_address": true,强制为构建实例分配公网IP。

2. 验证安全组SSH访问规则

Packer默认会创建临时安全组,但需确保:

  • 临时安全组允许你的本地IP(或临时用0.0.0.0/0测试)访问22端口;
  • 若指定了自定义安全组(通过security_group_ids配置),该安全组必须包含SSH入站规则。

3. 检查基础AMI的SSH配置

  • 手动启动同版本的基础AMI实例,尝试从本地SSH连接,确认:
    • 密钥对匹配正确;
    • SSH服务正常运行;
    • AMI未禁用对应用户的SSH登录(比如Amazon Linux默认用ec2-user而非root)。

4. 调整Packer SSH超时参数

在Packer配置中延长超时时间,避免因实例启动慢导致的超时:

"ssh_timeout": "10m",
"ssh_handshake_attempts": "10"

5. 确认VPC的DNS设置

检查VPC的「DNS主机名」和「DNS解析」选项是否均为开启状态,否则实例无法正常解析IP,导致Packer无法建立SSH连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 05:05:22