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!

原文地址:https://www.cnblogs.com/xiaoyao-001/p/11102222.html