环境centos7

一、准备工作

docker pull ubuntu:18.04

docker run -it ubuntu:18.04 bash

docker 为镜像添加ssh服务-docker commit命令创建-LMLPHP

二.配置软件源apt-get update,如果系统时间不对很可能出现上篇博文所示错误,参考https://www.cnblogs.com/xiaoyao-001/p/11101489.html

docker 为镜像添加ssh服务-docker commit命令创建-LMLPHP

三.安装和配置SSH服务

安装SSH服务,apt-get install openssh-server,需要点时间安装完成最后几行如下:

docker 为镜像添加ssh服务-docker commit命令创建-LMLPHP

要正常启动ssh服务,/var/run/sshd目录必须要存在,手动创建并启动如下:

docker 为镜像添加ssh服务-docker commit命令创建-LMLPHP

查看容器的22端口(SSH服务默认监听端口),可见此端口已经处于监听状态:

docker 为镜像添加ssh服务-docker commit命令创建-LMLPHP

修改SSH服务的安全登陆配置,取消pam登陆限制

sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd

在root用户目录下创建 .ssh目录,并复制需要登陆的公钥信息(该信息在宿主机上由ssh-keygen -t rsa命令生成,在宿主机的 .ssh/id_rsa.pub文件中)到authorized_keys文件中

docker 为镜像添加ssh服务-docker commit命令创建-LMLPHP

将本地(宿主机)~.ssh/id_rsa_pub的公钥信息拷贝到authorized_keys文件中,保存

添加脚本后授权

docker 为镜像添加ssh服务-docker commit命令创建-LMLPHP

四、退出容器,保存镜像

docker 为镜像添加ssh服务-docker commit命令创建-LMLPHP

五、使用镜像启动容器查看其运行信息

docker 为镜像添加ssh服务-docker commit命令创建-LMLPHP

在宿主机上访问10022端口登陆容器

docker 为镜像添加ssh服务-docker commit命令创建-LMLPHP

到这里显示登陆成功,OK!

05-11 22:28