无法通过SSH连接AWS Lightsail实例:端口22关闭且无Web控制台访问权限
修复AWS Lightsail实例SSH连接问题的可行方案
方案1:挂载原磁盘到临时实例修改配置
这是解决系统内部SSH配置问题最直接的办法:
- 先停止故障实例,在实例的「Disks」标签页分离根磁盘,记好磁盘名称
- 创建一台和原实例系统版本一致的临时Lightsail实例,确保这台能正常SSH登录
- 停止临时实例,把刚才分离的原磁盘挂载上去,再启动临时实例
- SSH登录临时实例,用
lsblk命令找到挂载的原磁盘分区(一般是/dev/xvdf1这类) - 挂载分区到临时目录:
sudo mount /dev/xvdf1 /mnt/old-disk - 修正原系统的SSH相关配置:
- 编辑
/mnt/old-disk/etc/ssh/sshd_config,确认Port 22没被注释,根据你的登录方式调整PermitRootLogin或PasswordAuthentication的设置 - 检查系统防火墙:Ubuntu的话,确保
ufw允许22端口;CentOS则检查firewalld的ssh服务规则
- 编辑
- 卸载分区:
sudo umount /mnt/old-disk,停止临时实例,分离原磁盘 - 把原磁盘重新挂载回故障实例,启动后尝试SSH连接
方案2:尝试重置SSH功能
部分实例支持控制台一键重置SSH,再仔细检查下:
- 登录Lightsail控制台进入实例详情页,切换到「Connect」标签,看看有没有「Reset SSH」按钮
- 点击后等待系统自动修复SSH服务和防火墙,几分钟后重试连接
方案3:查看CloudWatch系统日志排查原因
如果实例之前开了CloudWatch日志,可以通过日志找问题:
- 进入AWS CloudWatch控制台,找到对应实例的日志组(通常是
lightsail/实例名格式) - 查看
/var/log/auth.log(Ubuntu)或/var/log/secure(CentOS)日志,看看SSH服务启动失败的具体原因,比如配置错误、端口冲突
方案4:用AWS Systems Manager连接(前提是已配置)
如果原实例装过SSM代理且有对应权限,可以用SSM会话管理器连接:
- 进入AWS Systems Manager控制台的「会话管理器」,点击「启动会话」
- 选对应的Lightsail实例(如果在列表里),启动会话后就能进入终端修复SSH配置
内容的提问来源于stack exchange,提问作者Luis Miguel Molina Betancourt
相关产品推荐
相关产品推荐

