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

如何从远程机器直接SSH到Ubuntu VM上运行的Docker容器?

直接SSH到Ubuntu虚拟机中运行的Docker容器的方法

我来给你几个实用的方案,帮你一步到位直接进入目标Docker容器的bash环境,不用先登录虚拟机再手动执行docker exec:

方案1:SSH远程执行docker exec命令(最推荐,无需修改容器)

这是最简单的方式,直接把docker exec命令作为SSH的远程执行命令,同时需要给SSH加上-t参数来分配伪终端(因为docker exec -it需要交互式终端才能正常工作)。

执行命令:

ssh -t -i path/to/private/key username_VM@ip_VM "docker exec -it CONTAINER_ID bash"

关键说明:

  • -t参数:强制SSH分配一个伪终端,否则docker exec -it会因为缺少终端环境而报错
  • 确保你的VM用户拥有Docker执行权限:如果执行时提示权限不足,把用户加入docker组即可:
    # 在Ubuntu虚拟机上执行
    sudo usermod -aG docker username_VM
    # 退出当前SSH会话后重新登录生效
    

方案2:给容器配置SSH服务(适合长期频繁访问场景,不推荐轻量化容器)

如果需要像登录普通机器一样直接SSH到容器,可以给容器安装SSH服务,然后通过虚拟机端口映射访问:

步骤:

  1. 进入容器安装SSH服务:

    # 先登录虚拟机,进入容器
    docker exec -it CONTAINER_ID bash
    # 以Debian/Ubuntu系容器为例,安装openssh-server
    apt update && apt install -y openssh-server
    # 启动SSH服务
    service ssh start
    # 设置开机自启(可选)
    systemctl enable ssh
    
  2. 配置SSH认证:

    • 推荐用密钥登录(避免密码泄露风险):把远程机器的公钥复制到容器的/root/.ssh/authorized_keys(或对应普通用户的目录)
    • 若用密码登录,修改SSH配置文件/etc/ssh/sshd_config,确保PermitRootLogin yes(或PermitRootLogin prohibit-password如果用密钥),然后重启SSH服务:service ssh restart
  3. 映射容器SSH端口到虚拟机:

    • 启动容器时直接配置端口映射(永久生效):
      docker run -d -p 2222:22 [你的容器镜像]
      
    • 对已运行容器,可以用iptables临时做端口转发(重启虚拟机后失效):
      iptables -t nat -A PREROUTING -d ip_VM -p tcp --dport 2222 -j DNAT --to-destination [容器内部IP]:22
      
  4. 远程直接SSH到容器:

    ssh -i path/to/private/key root@ip_VM -p 2222
    

优缺点:

  • ✅ 操作逻辑和登录普通机器完全一致
  • ❌ 增加容器体积和复杂度,不符合Docker轻量化理念,额外引入SSH服务的安全风险

方案3:用SSH配置文件简化命令(让操作更便捷)

如果觉得方案1的命令太长,可以在本地机器的~/.ssh/config文件中添加配置,用别名一键登录:

配置内容:

Host container-direct
    HostName ip_VM
    User username_VM
    IdentityFile path/to/private/key
    RequestTTY yes  # 自动分配伪终端,替代命令行的-t参数
    RemoteCommand docker exec -it CONTAINER_ID bash

使用方法:

直接在终端输入:

ssh container-direct

这样就能一步到位进入容器的bash环境了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 10:33:16