Mobaxterm 连接到 Docker 容器
步骤 1:在 Docker 容器中安装并配置 SSH 服务
进入容器:
bash
复制
docker exec -it <容器名称或ID> /bin/bash
例如:
bash
复制
docker exec -it mycontainer /bin/bash
安装 OpenSSH 服务器:
bash
复制
apt-get update && apt-get install -y openssh-server
配置 SSH 服务:
创建 SSH 运行目录:
bash
复制
mkdir /var/run/sshd
设置 root 用户密码:
bash
复制
echo 'root:yourpassword' | chpasswd
允许 root 用户通过 SSH 登录:
bash
复制
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
禁用 PAM 限制(可选):
bash
复制
sed -i 's@session required pam_loginuid.so@session optional pam_loginuid.so@g' /etc/pam.d/sshd
启动 SSH 服务:
bash
复制
/usr/sbin/sshd
暴露 SSH 端口:
确保容器在启动时暴露了 SSH 端口(默认是 22)。如果容器已经运行,可以通过以下命令重新启动容器并映射端口:
bash
复制
docker stop mycontainer
docker rm mycontainer
docker run -d -p 2222:22 --name mycontainer <镜像名称>
这里将容器的 22 端口映射到宿主机的 2222 端口。
步骤 2:获取容器的 IP 地址
运行以下命令获取容器的 IP 地址:
bash
复制
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <容器名称或ID>
例如:
bash
复制
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mycontainer
记录下返回的 IP 地址。
步骤 3:在 Mobaxterm 中连接到容器
打开 Mobaxterm:
启动 Mobaxterm 应用程序。
创建新的 SSH 会话:
点击左上角的“新建会话”按钮,或者使用快捷键 Ctrl+N。
在弹出的“新建会话”窗口中,选择“SSH”作为会话类型。
配置 SSH 服务器信息:
在“SSH 服务器”选项卡中,输入容器的 IP 地址或 localhost(如果使用端口映射)。
输入容器内部的 SSH 端口,默认端口为 22。如果使用了端口映射(如 2222),则输入映射后的端口号。
配置用户认证信息:
在“用户认证”选项卡中,输入连接到 Docker 容器的用户名(如 root)和密码。
连接到容器:
点击“连接”按钮,Mobaxterm 将尝试连接到 Docker 容器。
输入密码后,你将成功登录到 Docker 容器的命令行界面。
注意事项
如果容器没有运行 SSH 服务,你将无法通过 SSH 连接。确保按照上述步骤正确安装和配置 SSH 服务。
如果容器的 SSH 端口未正确映射到宿主机,你可能需要重新启动容器并添加端口映射。
如果容器使用了非默认的 SSH 端口,请确保在 Mobaxterm 中输入正确的端口号。
通过以上步骤,你可以使用 Mobaxterm 成功连接到 Docker 容器。