基于centos的sshd镜像制作dockerfile

该博客详细介绍了如何使用Docker创建一个基于CentOS7的基础镜像,并安装配置SSH服务器,包括更换YUM源、安装openssh-server、生成密钥文件、设置root密码、暴露22端口及远程连接测试。最后展示了通过docker exec命令进入容器检查sshd进程的步骤。
摘要由CSDN通过智能技术生成

一、基于密码登录的创建

1、由于centos7基础镜像中是没有安装openssh-server的,所以无法进行远程连接。需要安装openssh-server和创建密钥文件


```bash
# 拉取基础镜像
FROM centos:centos7.9.2009
# 打标签
LABEL authour="whp" email="xxxxxxx" version="v1.0"
# 更换yum源并且安装应用并更改时区
RUN  cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    yum install -y  wget && \
     mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak && \
     wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo && \
     wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo && \
     yum clean all && yum makecache && \
     yum -y install openssh-server openssh openssl passwd
# 创建sshd的公钥和私钥文件
RUN  ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' && \
     ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N '' && \
     ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N '' && \
     echo '123456'|passwd root --stdin
# 暴露端口22
EXPOSE 22
# 启动进程
CMD ["/usr/sbin/sshd","-D"]

2、启动创建镜像

```bash
docker build -t centos_sshd:v1.0 .

3、启动镜像并远程测试

# 后台运行
docker run -d centos_ssh:v2.0
# 查看容器ip
docker inspect b0258bf50617
# 远程连接
ssh 172.17.0.7
root@172.17.0.7's password: 

4、进入到容器查看启动的进程

# docker exec -it b0258bf50617    /bin/bash
[root@b0258bf50617 /]# ps -aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.4 112936  4300 ?        Ss   09:20   0:00 /usr/sbin/sshd -D
root         25  0.5  0.1  11828  1892 pts/0    Ss   09:26   0:00 /bin/bash
root         39  0.0  0.1  51732  1700 pts/0    R+   09:26   0:00 ps -aux

到此sshd运行成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值