Docker容器中启用SSH服务的方法步骤
在 Docker 容器中运行 SSH 服务需要一些调整,因为 Docker 容器通常使用 init 系统而不是完整的 systemd。以下是配置 SSH 服务在 Docker Ubuntu 容器中运行的步骤:
1. 安装 SSH 服务
如果还未安装 OpenSSH,请先安装:
apt update apt install openssh-server -y
2. 配置 SSH 服务
编辑 SSH 配置文件,确保服务可以正常启动。
编辑配置文件:
nano /etc/ssh/sshd_config
检查以下配置项并修改(如有需要):
禁用 PAM(Docker 容器中推荐):
UsePAM no
允许密码登录(如需通过密码登录):
PasswordAuthentication yes
保存并退出(Nano 中按 Ctrl+O 保存,Ctrl+X 退出)。
3. 创建 SSH 运行目录
SSH 服务需要 /run/sshd 目录。
mkdir -p /run/sshd
4. 启动 SSH 服务
由于 Docker 容器通常没有 systemd,需要直接运行 sshd 命令来启动服务。
/usr/sbin/sshd -D
-D 选项让 sshd 以前台模式运行,适合 Docker 容器。
5. 后台运行 SSH 服务(可选)
如果想让 SSH 在容器中持续运行,可以在启动容器时使用 docker run 命令运行一个附带 sshd 的入口点脚本。
示例 Dockerfile
FROM ubuntu:latest # 安装 OpenSSH 服务 RUN apt update && apt install -y openssh-server && mkdir -p /run/sshd # 配置 SSH RUN echo 'root:password' | chpasswd RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config # 启动 SSH 服务 CMD ["/usr/sbin/sshd", "-D"]
构建和运行容器:
docker build -t ubuntu-ssh . docker run -d -p 2222:22 ubuntu-ssh
这将启动一个允许通过 SSH 连接的 Docker 容器,并将主机的端口 2222 映射到容器的端口 22。
6. 测试 SSH 连接
使用以下命令从主机连接到容器:
ssh root@localhost -p 2222
输入之前设置的密码(如 password),即可登录到容器中。
7. 注意事项
- 安全性: 不建议在生产环境中使用密码登录,推荐使用密钥认证。
- 容器保活: 如果需要 SSH 和其他服务同时运行,可使用
supervisord或其他工具管理多个进程。
到此这篇关于Docker容器中启用SSH服务的方法步骤的文章就介绍到这了,更多相关Docker启用SSH服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
docker-compose up -d和docker-compose up -
本文主要介绍了docker-compose up -d和docker-compose up --build的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-07-07
Docker Compose 搭建简单的Python网络应用程序(步骤详解)
在这个页面上,你可以建立一个简单的Python网络应用程序,运行在Docker Compose上,这篇文章主要介绍了Docker Compose 搭建简单的Python网络应用程序,需要的朋友可以参考下2022-07-07
Docker安装Kong API Gateway并使用的详细教程
这篇文章主要介绍了Docker安装Kong API Gateway并使用,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-08-08
docker-compose镜像发布springboot项目的流程分析
Docker-Compose项目由Python编写,调用Docker服务提供的API来对容器进行管理。因此,只要所操作的平台支持Docker API,就可以在其上利用Compose来进行编排管理,接下来通过本文给大家介绍docker-compose发布springboot项目的流程分析,一起看看吧2021-06-06
Docker报错Operation not permitted问题的解决方法
刚开始接触Docker的朋友经常会遇到问题,下面这篇文章主要给大家介绍了关于Docker报错Operation not permitted问题的解决方法,需要的朋友可以参考下2023-02-02


最新评论