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

如何通过SSH连接Amazon Lightsail容器服务中的运行容器?

访问Amazon Lightsail容器服务中容器的命令行方法

首先明确:Lightsail容器服务中的容器无法直接通过SSH公网访问——哪怕你开放了22端口,因为容器没有独立公网IP,且Lightsail的容器托管架构限制了直接SSH连接。不过你可以通过以下几种方式进入容器命令行:

方法1:使用Lightsail CLI直接打开容器Shell(推荐)

这是最便捷的方式,无需额外配置SSH:

  1. 确保本地已安装并配置AWS CLI及Lightsail插件
  2. 执行命令进入目标容器:
    aws lightsail open-container-shell --region <你的区域ID> --service-name <你的容器服务名> --container-name <目标容器名>
    
    替换尖括号内的参数为你实际的区域、服务名和容器名,执行后直接进入容器的命令行环境。

方法2:本地拉取镜像并运行后SSH访问

适合需要在本地调试容器内容的场景:

  1. 从Lightsail容器注册表拉取镜像到本地:
    aws lightsail pull-container-image --region <你的区域ID> --service-name <你的容器服务名> --image <镜像名:标签>
    
  2. 本地运行镜像,将容器22端口映射到本地端口(比如2222):
    docker run -d -p 2222:22 <拉取到本地的镜像名>
    
  3. 通过SSH连接本地映射端口:
    ssh -p 2222 <容器内用户名>@localhost
    
    注意:如果容器内未预装SSH服务,需先在Dockerfile中添加安装配置(如apt-get install openssh-server),重新构建镜像后再推送回Lightsail注册表。

方法3:配置容器服务端口映射后SSH(不推荐,存在安全风险)

若一定要通过公网SSH访问:

  1. 更新容器服务部署配置,将容器22端口映射到服务的某个公网端口(比如2200)
  2. 部署更新后的服务,获取服务公网IP
  3. 连接公网IP的映射端口:
    ssh -p 2200 <容器内用户名>@<服务公网IP>
    
    此方式会将SSH端口暴露在公网,仅建议临时使用,用完后立即关闭端口映射。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 17:30:46