无法SSH连接EC2实例,求连接方法及数据备份方案
解决EC2实例无法SSH连接、无网络及数据备份方案
一、恢复实例连接与网络
你已能通过EC2串行控制台登录,可优先从以下方向排查修复网络:
1. 串行控制台内检查网络配置
- 查看路由表,确认存在默认路由:
正常应显示类似ip route showdefault via <VPC网关IP> dev <网卡名>的条目,比如default via 10.0.0.1 dev eth0 - 检查DNS配置:
需包含VPC专属DNS服务器(通常为VPC网段最后一位+2,如VPC网段10.0.0.0/16则为10.0.0.2)cat /etc/resolv.conf - 验证网卡状态与IP:
确认主网卡已启用,且获取到实例的私有IPip addr - 检查本地防火墙规则:
确保未拦截出站的DNS(53端口)、HTTP/HTTPS(80/443)流量iptables -L
2. 修复网络配置(串行控制台内执行)
- 若无默认路由,手动添加:
ip route add default via <VPC网关IP> dev <网卡名> - 若DNS配置错误,编辑
/etc/resolv.conf添加正确的DNS服务器:echo "nameserver <VPC DNS IP>" >> /etc/resolv.conf - 重启网络服务(根据系统选择):
# CentOS/RHEL systemctl restart network # Ubuntu/Debian systemctl restart systemd-networkd
3. AWS控制台侧检查网络规则
- 安全组:确认出站规则允许所有流量(或至少DNS、HTTP/HTTPS端口)
- 网络ACL:入站和出站规则均需允许必要的端口流量(如SSH 22、DNS 53、HTTP/HTTPS 80/443)
二、数据备份方案
若网络无法快速恢复,可通过以下方式备份数据:
1. 创建EBS卷快照
- 停止故障实例(确保数据一致性)
- 进入EC2控制台,找到实例关联的所有EBS卷(根卷+附加卷)
- 对每个卷创建快照,快照完成后可用于创建新卷,挂载到其他正常实例读取数据
2. 挂载故障卷到正常实例
- 停止故障实例,分离根卷(记录原挂载点,如
/dev/sda1) - 启动同区域、同VPC的正常EC2实例
- 将分离的故障卷挂载到正常实例(控制台操作,挂载设备可设为
/dev/sdf) - 在正常实例上挂载该卷:
mkdir /mnt/recovery mount /dev/xvdf /mnt/recovery # 部分系统为/dev/sdf,需根据实际调整 - 访问
/mnt/recovery即可读取故障实例的数据,可备份至S3或其他存储
内容的提问来源于stack exchange,提问作者adarsh singh
相关产品推荐
相关产品推荐

