Dockerfile创建带ssh,vim,netstat功能的debian镜像

本文详细介绍了如何创建一个用于生成SSH Docker镜像的目录、生成授权密钥文件、编写Dockerfile并设置相关参数的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建一个目录存放生成镜像相关文件

mkdir ssh_dockerfile && cd ssh_dockerfile

2.生成authorized_keys文件

ssh-keygen -t rsa
#按回车选择默认的没有密码。此时,会在生成一个文件~/.ssh/id_rsa.pub
cat ~/.ssh/id_rsa.pub >authorized_keys

3.编写Dockerfile

FROM debian:jessie

MAINTAINER 杨松<syang@amarsoft.com>

#更新apt-get源 使用sohu的源
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \
        echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list && \
        echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list && \
        echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list && \
        echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list

#安装SSH服务
RUN apt-get update && apt-get install -y openssh-server net-tools vim &&\ 
    mkdir -p /var/run/sshd &&\ 
    mkdir -p /root/.ssh

#取消pam登录限制
RUN sed -i 's/session    required     pam_loginuid.so/#session    required     pam_loginuid.so/g' /etc/pam.d/sshd

#添加认证文件和启动脚本
ADD authorized_keys /root/.ssh/authorized_keys
RUN echo "#!/bin/bash" > /root/run.sh &&\ 
    echo "/usr/sbin/sshd -D" >> /root/run.sh &&\ 
    chmod u+x /root/run.sh

#导出端口
EXPOSE 22

CMD ["/root/run.sh"]


转载于:https://my.oschina.net/skymozn/blog/537854

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值