docker镜像ssh服务

基于commit命令实现

        首先我们是基于Ubuntu:18.04版本做ssh服务,拉取镜像

[root@master ~]# docker pull ubuntu:18.04
[root@master ~]# docker images
REPOSITORY         TAG       IMAGE ID       CREATED             SIZE
ubuntu             18.04     f9a80a55f492   9 months ago        63.2MB

        将我们获取的镜像运行起来

[root@master ~]# docker run -it ubuntu:18.04 bash
root@b84fbe7d7604:/#

        配置软件源,因为我们获取的镜像为最基础的Ubuntu:18.04版本的镜像所以需要更新软件源,方便后续的使用。

root@b84fbe7d7604:/# apt-get update

        在这里我们想让功能更加完全可以使用阿里,清华,163的源进行操作,由于我们这里没有vi编辑器所以我们可以使用cat或者echo进行操作

root@b84fbe7d7604:/# cat >> /etc/apt/sources.list.d/aliyun.list << EOF
> deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
> deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
> deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
> deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
> deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
> deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
> deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
> deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
> deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
> deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
> EOF

        我们重新配置源后需要再次进行apt update操作。

        这时候就可以开始我们关于ssh的操作,要进行ssh操作必须需要/var/run/sshd目录存在,其次我们查看一下ssh服务的进程是否启动。

root@b84fbe7d7604:/# mkdir -p /var/run/sshd
root@b84fbe7d7604:/# /usr/sbin/sshd -D &
[1] 4513
root@b84fbe7d7604:/# ps -ef | grep ssh
root       4513      1  0 13:30 pts/0    00:00:00 /usr/sbin/sshd -D

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

        将session    required     pam_loginuid.so注释掉就可以,由于这里我们没有vi,我们用sed进行操作,创建.ssh目录将我们在宿主机上生成的公钥输出在.ssh文件中

[root@master .ssh]# ssh-keygen
[root@master .ssh]# cat id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbDvl5odi8bH8cYBJh234z1/XvF6T7U/nT0/gFOS1ddBcTtFOvnJJ4bM3ObAasHorL3w717ZgZSKZB7Ni9CmGUiXlaEpxndhePlkazzKFU26i7XpRPxW/cKk0uh0EY6r89DmiHnpdfqxb3gbYORnpKKBNJ9HOQFN1QEneczEteLcdgDalpViWJM9MvpbuLjMBvQFYaV2qeCTUK0aolW7Jdc9JUtE+wPBUPZCAldsrAKHylmpZaoIc/eSFsErquzkGTYA6VK2DUinPlsNNZmTLQN9pAdprjCkgxiQ+r4VboYNmvYGV2yMXA3o6hAwVHP6VdAv2frFAAURO9XPs5A+IZ root@master
root@b84fbe7d7604:/# sed -ri 's/session    required     pam_loginuid.so/#session    required     pam_loginuid.so/g' /etc/pam.d/sshd
root@b84fbe7d7604:/# mkdir /root/.ssh
root@b84fbe7d7604:/# echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbDvl5odi8bH8cYBJh234z1/XvF6T7U/nT0/gFOS1ddBcTtFOvnJJ4bM3ObAasHorL3w717ZgZSKZB7Ni9CmGUiXlaEpxndhePlkazzKFU26i7XpRPxW/cKk0uh0EY6r89DmiHnpdfqxb3gbYORnpKKBNJ9HOQFN1QEneczEteLcdgDalpViWJM9MvpbuLjMBvQFYaV2qeCTUK0aolW7Jdc9JUtE+wPBUPZCAldsrAKHylmpZaoIc/eSFsErquzkGTYA6VK2DUinPlsNNZmTLQN9pAdprjCkgxiQ+r4VboYNmvYGV2yMXA3o6hAwVHP6VdAv2frFAAURO9XPs5A+IZ root@master" > /root/.ssh/authorized_keys

使用脚本将免密操作执行,给予执行权限,退出。

root@b84fbe7d7604:/# touch  > /run.sh <<EOF
> @!/bin/bash
> /usr/sbin/sshd -D
> EOF
root@b84fbe7d7604:/# chmod +x /run.sh
root@b84fbe7d7604:/# exit

保存镜像,运行镜像

[root@master ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND   CREATED          STATUS                      PORTS     NAMES
b84fbe7d7604   ubuntu:18.04   "bash"    15 minutes ago   Exited (0) 13 seconds ago             hardcore_elgamal
[root@master ~]# docker commit b84fbe7d7604 sshd:ubuntu_v1
sha256:c3a816f8fc145f95345576c3dacb1202f7914953527fd5f7ece21635c6360df6
[root@master ~]# docker run -p 10222:22 -d sshd:ubuntu_v1 /run.sh
843aa0403aa588268679b80566d470b93e4c54cd65905535dfb8c8c5ab304a51
[root@master ~]# docker ps
CONTAINER ID   IMAGE            COMMAND     CREATED          STATUS          PORTS                                     NAMES
843aa0403aa5   sshd:ubuntu_v1   "/run.sh"   12 seconds ago   Up 11 seconds   0.0.0.0:10222->22/tcp, :::10222->22/tcp   goofy_grothendieck

测试镜像

Dockerfile尝试ssh登录

清除之前运行的镜像

[root@master ~]# docker rm -f `docker ps -aq`
843aa0403aa5
b84fbe7d7604

创建目录,存放Dockerfile、run.sh(运行脚本)、aliyun.list(应用镜像)、authorized_keys(公钥文件)。

#将本身的公钥文件拷贝到新文件中
[root@master sshd_ubuntu]# cat ~/.ssh/id_rsa.pub > authorized_keys
#配置我们的运行脚本
[root@master sshd_ubuntu]# vim run.sh
#!/bin/bash
/usr/sbin/sshd -D
#配置拉去资源文件
[root@master sshd_ubuntu]# vim aliyun.list 
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe mult
iverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multi
verse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe mult
iverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe mul
tiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multivers
e
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe 
multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe m
ultiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe 
multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe
 multiverse
[root@master sshd_ubuntu]# vim Dockerfile 
FROM ubuntu:18.04  #来源版本
MAINTAINER hao<mmmm2024@111.com>  #作者,以及邮箱

COPY aliyun.list /etc/apt/sources.list.d/  #复制我们配置的文件,进行软件更新

RUN apt  update && \  #下载软件
    apt install -y openssh-server && \  #下载我们的ssh
    mkdir /var/run/sshd && \  
    sed -ri 's/session    required     pam_loginuid.so/#session    required     pam
_loginuid.so/g' /etc/pam.d/sshd && \  #将ssh文件中的配置文件注释
    mkdir /root/.ssh
COPY authorized_keys /root/.ssh/   #调用公钥文件
COPY run.sh /run.sh  #调用脚本
RUN chmod 755 /run.sh  #给脚本增加权限

EXPOSE 22
CMD ["/run.sh"]  #执行脚本

执行文件获取Ubuntu_v2镜像,运行镜像,查看状态是否为UP

[root@master sshd_ubuntu]# docker build -t sshd:ubuntu_v2 ./
[root@master sshd_ubuntu]# docker run -d -P sshd:ubuntu_v2
ac9b59f96b555c97b00f67757b1e76c261c0fb8088d92e8111a28d7a3603aaa7
[root@master sshd_ubuntu]# docker ps -a
CONTAINER ID   IMAGE            COMMAND     CREATED         STATUS         PORTS                                     NAMES
ac9b59f96b55   sshd:ubuntu_v2   "/run.sh"   9 seconds ago   Up 8 seconds   0.0.0.0:32771->22/tcp, :::32771->22/tcp   condescending_raman

测试是否可以成功进入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/455883.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ 模拟实现【三】:存储设计

文章目录 数据库设计SQLite配置数据库实现 数据库关于哈希表等复杂类的存储启动数据库 文件设计消息持久化消息属性格式核心方法消息序列化消息文件回收 统一硬盘存储管理内存存储管理线程安全数据结构实现 数据库设计 数据库主要存储交换机、队列、绑定 SQLite 此处考虑的是…

GPT-4.5 Turbo意外曝光,最快明天发布?OpenAI终于要放大招了!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;所以创建了“AI信息Gap”这个公众号&#xff0c;专注于分享AI全维度知识…

基于springboot实现数据资产管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现数据资产管理系统演示 摘要 固定资产管理系统主要是完成对系统用户管理、资产信息管理、资产变更管理、资产用途管理、资产类别管理和资产增减管理。因为利用本系统管理员可以直接录入信息&#xff0c;修改信息&#xff0c;删除信息&#xff0c;并且若在录入…

使用docker-compose部署MySQL三主六从半同步集群(MMM架构)

文章目录 &#x1f50a;博主介绍&#x1f964;本文内容部署MySQL三主六从半同步集群一主二从同步集群规划需要安装docker和docker-compose命令形式安装安装docker安装docker-compose 宝塔面板形式安装 部署node1节点的master1docker-compose.yaml文件my.cnf文件授权启动 部署no…

ACM中Java输入输出

ACM中Java输入输出 最初写算法时&#xff0c;是用Scanner的。因为当时接触的测试数据基本都是以算法的复杂度为主&#xff0c;但是后面遇到大量的输入数据时。发现Scanner远远不能满足条件。下面列出几种常用的输入输出方式。(输出统一用printwriter&#xff0c;系统的system.o…

海豚调度系列之:认识海豚调度

海豚调度系列之&#xff1a;认识海豚调度 一、海豚调度二、特性三、建议配置四、名次解释 一、海豚调度 Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景&#xff0c;提供了一个可视化操作任务、工作流和全生命周期数据处理过…

Prompt Engineering(提示工程)

Prompt 工程简介 在近年来&#xff0c;大模型&#xff08;Large Model&#xff09;如GPT、BERT等在自然语言处理领域取得了巨大的成功。这些模型通过海量数据的训练&#xff0c;具备了强大的语言理解和生成能力。然而&#xff0c;要想充分发挥这些大模型的潜力&#xff0c;仅仅…

2024/3/14打卡k倍区间(8届蓝桥杯)——前缀和+优化***

题目 给定一个长度为 N 的数列&#xff0c;A1,A2,…AN&#xff0c;如果其中一段连续的子序列 Ai,Ai1,…Aj 之和是 K 的倍数&#xff0c;我们就称这个区间 [i,j] 是 K 倍区间。 你能求出数列中总共有多少个 K 倍区间吗&#xff1f; 输入格式 第一行包含两个整数 N 和 K。 以下 N…

O2OA(翱途)开发平台系统安全-用户登录IP限制

O2OA(翱途)开发平台[下称O2OA开发平台或者O2OA]支持对指定的用户设置可以连接的客户端计算机的IP地址&#xff0c;以避免用户在不安全的环境下访问系统。本篇主要介绍如何开启O2OA用户登录IP限制。 一、先决条件&#xff1a; 1、O2Server服务器正常运行&#xff0c;系统安装部…

0基础学习VR全景平台篇第145篇:图层控件功能

大家好&#xff0c;欢迎观看蛙色VR官方——后台使用系列课程&#xff01;这期&#xff0c;我们将为大家介绍如何使用图层控件功能。 一.如何使用图层控件功能&#xff1f; 进入作品编辑页面&#xff0c;点击左边的控件后就可以在右边进行相应设置。 二.图层控件有哪些功能&am…

跨境电商SaaS独立站的真面目...(网站建站)

跨境电商独立站自外贸交易开始&#xff0c;就一直存在&#xff0c;接触过电商的朋友应该都听过&#xff0c;但大部分人仅仅只是停留在听过的阶段&#xff0c;并没有真正的去了解它&#xff1b;独立站&#xff0c;顾名思义就是一个独立的网站&#xff0c;不依附任何平台&#xf…

基于Java+SpringBoot+vue+element实现物流管理系统

基于JavaSpringBootvueelement实现物流管理系统 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 ** 作者主页 央顺技术团队** 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目录 基于JavaSpr…

OSCP靶场--Exfiltrated

OSCP靶场–Exfiltrated 考点(1.cms 站点地图插入php反弹shell 2. CVE-2021-4034提权 3.root定时任务提权[CVE-2021-22204]) 1.nmap扫描 ┌──(root㉿kali)-[~/Desktop] └─# nmap -sV -sC -p- 192.168.155.163 --min-rate 2500 Starting Nmap 7.92 ( https://nmap.org ) a…

Prometheus 监控告警配置

文章目录 一、告警通知1.邮件通知2.钉钉通知2.1.获取钉钉机器人webhook2.2.prometheus-webhook-dingtalk2.3.配置信息2.4.自定义模板 3.自定义 二、告警规则1.Prometheus2.Linux3.Docker4.Nginx5.Redis6.PostgreSQL7.MySQL8.RabbitMQ9.JVM10.Elasticsearch 开源中间件 # Prome…

元宇宙崛起:区块链与金融科技共绘数字新世界

文章目录 一、引言二、元宇宙与区块链的深度融合三、区块链在元宇宙金融中的应用四、金融科技在元宇宙中的创新应用五、面临的挑战与机遇《区块链与金融科技》亮点内容简介获取方式 一、引言 随着科技的飞速发展&#xff0c;元宇宙概念逐渐走进人们的视野&#xff0c;成为数字…

linux环境下安装运行环境JDK、Docker、Maven、MySQL、RabbitMQ、Redis、nacos、Elasticsearch

安装JDK 1、提前下载好jdk 官网&#xff1a;点击下载 2、将下载的文件放到自己喜欢的目录下 然后使用下面命令进行解压 tar -zxvf jdk-8u161-linux-x64.tar.gz3、配置环境变量 使用命令 vim /etc/profile在文件的最后插入 export JAVA_HOME/source/java/jdk1.8.0_161 #…

EditText不显示系统键盘,可用来显示自定义的键盘

系统键盘 包含普通键盘和现在很多ROM定制的密码安全键盘 调用已下方法即可解决: https://developer.android.google.cn/reference/android/widget/TextView#setShowSoftInputOnFocus(boolean) 但是,此方法是API 21Android 5.0加入的, 所以为了兼容低版本, 建议使用已下方法: p…

【C++ 学习】内存管理

1. new / delete 和 malloc / free 的区别? malloc / free 和 new / delete 的共同点&#xff1a;都是从堆上申请空间&#xff0c;并且需要用户手动释放。不同的地方是&#xff1a; malloc 和 free 是函数&#xff0c;new 和 delete 是操作符&#xff1b; malloc 申请的空间不…

0103n阶行列式-行列式-线性代数

文章目录 一 n阶行列式二 三阶行列式三 特殊行列式结语 一 n阶行列式 ∣ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋯ ⋯ ⋯ ⋯ a n 1 a n 2 ⋯ a n n ∣ \begin{vmatrix}a_{11}&a_{12}&\cdots&a_{1n}\\a_{21}&a_{22}&\cdots&a_{2n}\\\cdots&\cdots…

如何开发一款高质量的短剧系统,短剧系统的框架设计与实现

项目背景 短剧系统正处于当下的火爆之中。随着社交媒体和短视频平台的兴起&#xff0c;人们对于快节奏、轻松有趣的短剧内容的需求也越来越大。短剧系统不仅可以提供快速、精彩的娱乐体验&#xff0c;还可以在碎片化时间里为用户带来欢乐。 适用人群非常广泛&#xff0c;尤其…