docker 为镜像添加ssh服务-docker commit命令创建
环境centos7
一、准备工作
docker pull ubuntu:18.04
docker run -it ubuntu:18.04 bash
二.配置软件源apt-get update,如果系统时间不对很可能出现上篇博文所示错误,参考https://www.cnblogs.com/xiaoyao-001/p/11101489.html
三.安装和配置SSH服务
安装SSH服务,apt-get install openssh-server,需要点时间安装完成最后几行如下:
要正常启动ssh服务,/var/run/sshd目录必须要存在,手动创建并启动如下:
查看容器的22端口(SSH服务默认监听端口),可见此端口已经处于监听状态:
修改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文件中
将本地(宿主机)~.ssh/id_rsa_pub的公钥信息拷贝到authorized_keys文件中,保存
添加脚本后授权
四、退出容器,保存镜像
五、使用镜像启动容器查看其运行信息
在宿主机上访问10022端口登陆容器
到这里显示登陆成功,OK!
本博主支持并坚持原创,本博客文章将以原创为主。