美文网首页
Docker创建支持SSH服务的镜像(一)

Docker创建支持SSH服务的镜像(一)

作者: CSeroad | 来源:发表于2018-10-28 23:28 被阅读22次

前言

在kali中搭建Docker后,尝试对Docker进行学习。根据《Docker技术入门与实战》一书,进行实验操作。

在kali(宿主机)上启动docker服务。

systemctl start docker  启动docker

systemctl stop docker  停止docker

systemctl enable docker  开机自启动

创建镜像

使用ubuntu14.04镜像创建一个容器

docker pull  ubuntu:14.04  拉取ubuntu镜像

也可以直接运行一个容器,ubuntu镜像会自动拉取。

docker  run -it  ubuntu:14.04  /bin/bash  

ubuntu:14.04

进入ubuntu系统,没有sshd命令。

apt-get  update   更新软件源

apt-get install  openssh-server  安装ssh服务

openssh-server

要正常启动SSH服务,需要目录/var/run/sshd存在,所以手动创建并启动

mkdir  -p  /var/run/sshd

/usr/sbin/sshd   -D        启动ssh服务

修改ssh服务的安全配置,取消pam登录的限制。

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

在kali中运行该命令,生成id_rsa.pub文件。存放在/root/.ssh/目录下。

ssh-keygen  -t   rsa  生成登录的公钥信息

/root/.ssh/id_rsa id_rsa.pub

再将该文件内容拷贝到ubuntu的authorized_keys文件中。

mkdir  root/.ssh

vi   /root/.ssh/authorized_keys

创建自启动文件run.sh,并赋予权限。

vi   /run.sh

chmod  +x  run.sh

run.sh脚本为

#!/bin/bash

/usr/sbin/sshd -D

最后exit退出容器。

保存镜像

docker  commit   xxxx   sshd:ubuntu    保存为新的sshd:ubuntu镜像

docker images   查看本地生成的新镜像

commit images

使用镜像

docker  run  -p  10022:22   -d   sshd:ubuntu  /run.sh

run启动容器,-p 容器的22端口映射到宿主机的10022端口,-d 后台运行

docker  ps  查看容器运行的信息

ps

此时,宿主机可以通过SSH访问10022端口来登录容器。。

ok

相关文章

网友评论

      本文标题:Docker创建支持SSH服务的镜像(一)

      本文链接:https://www.haomeiwen.com/subject/zaumtqtx.html