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 universemultiverse
[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 && \  #下载我们的sshmkdir /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

测试是否可以成功进入

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3 el-form中嵌套el-tabale 对输入动态校验

简单案例 <el-form :model"Form" :rules"rules" ref"FormRef" class"formDiv"><el-table :data"Form.copyWriters" style"width: 100%"><el-table-column label"文案链接"><temp…

rancher是什么

Rancher Labs是制作Rancher的公司。Rancher Labs成立于2014年&#xff0c;是一家专注于企业级容器管理软件的公司。它的产品设计旨在简化在分布式环境中部署和管理容器的过程&#xff0c;帮助企业轻松地采用容器技术和Kubernetes。Rancher Labs提供的Rancher平台支持Docker容器…

H5 简单四按钮个人主页源码

源码名称&#xff1a;简单四按钮个人主页源码 源码介绍&#xff1a;一款简单的带4个按钮选项的个人主页源码&#xff0c;可自行修改内容作为自己的个人主页。 需求环境&#xff1a;H5 下载地址&#xff1a; https://www.changyouzuhao.cn/11458.html

ubuntu 23.04 安装 中文输入法

1、安装 fcitx sudo apt install fcitxfcitx 安装好后&#xff0c;可以使用 fcitx-configtool 命令进行配置&#xff0c;其界面如下所示。在这里可以配置不同输入法的切换快捷键&#xff0c;默认输入法等。刚安装系统后&#xff0c;这里只有一个输入法&#xff0c;所以接下来要…

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

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

先进电气技术 —— 片上宽禁带器件的集成与应用

一、背景 功率转换器设计的一个关键目标是降低功率损耗以提高转换效率&#xff0c;这对可再生能源等应用产生影响。通过降低功率损耗&#xff0c;可以减小变换器元件的尺寸&#xff0c;从而使整个变换器的尺寸更小。因此&#xff0c;转换器的大小和成本完全取决于设计要求和应…

Linux:kubernetes(k8s)prestop事件的使用(11)

他的作用是在结束pod容器之后进行的操作 apiVersion: v1 # api文档版本 kind: Pod # 资源对象类型 metadata: # pod相关的元数据&#xff0c;用于描述pod的数据name: nginx-po # pod名称labels: # pod的标签type: app #这个是随便写的 自定义的标签version: 1.0.0 #这个…

2024年谷歌SEO的趋势预测及应对建议(川圣SEO)#蜘蛛池

baidu搜索&#xff1a;如何联系八爪鱼SEO&#xff1f; baidu搜索&#xff1a;如何联系八爪鱼SEO&#xff1f; baidu搜索&#xff1a;如何联系八爪鱼SEO&#xff1f; 虽然说“SEO”已死这个口号已经喊了很多年了&#xff08;最终也没死&#xff09;&#xff0c;但是在2023年很…

mysql中的非空间数据导入sqlserver中空间化

以下操作都在Navicat Premium 15软件中操作 1、mysql导出数据 以导出csv为例 不修改导出路径的话默认就是在桌面 设置编码UTF-8 这边还是默认,最好不要修改,如果文本识别符号为空,导入的时候可能字段会错乱 开始即可 2、导入sqlserver数据库中

STM32---ADC

ADC 概念 众所周知&#xff0c;GPIO只能读入高电平或者低电平&#xff0c;那如果现有一个模拟量&#xff0c;该如何读取呢&#xff0c;比如电压的范围是0~3.3v&#xff0c;如何获取电压的值。就需要ADC&#xff08;Analog-Digital Converter&#xff09;了。ADC可以将引脚上连…

Linux环境下用IDEA运行Golang记录

一、背景 和存储同时开发AI项目&#xff0c;在Linux环境运行Golang项目&#xff0c;因此需要进行相关的配置。 二、Golang安装 参考&#xff1a;【Linux — 安装 Go】Linux 系统安装 Go 过程总结_linux 安装go-CSDN博客 三、IDEA中Golang配置 1、去除代理 否则在Plugins中…

4.MAC平台Python的下载、安装(含Python2.7+Python3.12双版本环境变量配置)——《跟老吕学Python编程》

4.MAC平台Python的下载、安装&#xff08;含Python2.7Python3.12双版本环境变量配置&#xff09;——《跟老吕学Python编程》&#xff09;——跟老吕学Python编程 一、下载MAC版Python1.Python官网2.MAC版Python下载网址 二、在MAC安装Python1.在MAC安装Python2.阅读Python重要…

数据结构与算法之美学习笔记:不定期福利第三期 | 刘超:我是怎么学习《数据结构与算法之美》的?

目录 前言 前言 本节课程思维导图&#xff1a; 你好&#xff0c;我是刘超&#xff0c;是隔壁《趣谈网络协议》专栏的作者。今天来“串个门儿”&#xff0c;讲讲我学习《数据结构与算法之美》这个专栏的一些体会和感受。 《数据结构与算法之美》是目前“极客时间”订阅量最多的…

【Python】成功解决NameError: name ‘sns‘ is not defined

【Python】成功解决NameError: name ‘sns’ is not defined &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448; 希望得到您…

国创证券策略:股指预计维持震荡格局 关注汽车、通信设备等板块

国创证券指出&#xff0c;近期两市指数持续反弹创新高&#xff0c;但沪指现已率先出现滞涨状况&#xff0c;一起均已进入阻力重压区。不过当时技术形状上坚持较好&#xff0c;可持续做多&#xff0c;一旦跌破重要支撑如沪指的3030点&#xff0c;则需降仓防卫&#xff0c;防止指…

Window11安装达梦数据库

由于现在流行国产化&#xff0c;很多公司的数据库产品都使用了国产数据库&#xff0c;所以&#xff0c;今天给大家讲解一下&#xff0c;达梦数据库的安装和试用&#xff0c;这样学完以后&#xff0c;就可以直接在公司里面用了。 首先&#xff0c;需要先注册账号&#xff0c;然…

Android的UI渲染机制(二)

安卓系统中有 2 种 vsync 信号&#xff1a; &#xff08;1&#xff09;屏幕产生的硬件 vsync信号&#xff0c;主要用于通知应用程序开始在自己的窗口“画布”中执行一帧画面的绘制和渲染 &#xff08;2&#xff09;由SurfaceFlinger将其转成的软件 vsync 信号&#xff0c;经由…

mysql不能远程连接的解决办法

问题: 安装完mysql之后,在本机可以正常使用,但是通过其它电脑不能远程连接. 解决方案: 在安装mysql的电脑上,登录mysql, 执行权限 GRANT ALL PRIVILEGES ON *.* TO root"%" IDENTIFIED BY "password"; 刷新权限 flush privileges;

【机器学习】一文掌握逻辑回归全部核心点(上)。

逻辑回归核心点-上 1、引言2、逻辑回归核心点2.1 定义与目的2.2 模型原理2.2.1 定义解析2.2.2 公式2.2.3 代码示例 2.3 损失函数与优化2.3.1 定义解析2.3.2 公式2.3.3 代码示例 2.4 正则化2.4.1 分类2.4.2 L1正则化2.4.3 L2正则化2.4.4 代码示例 3、总结 1、引言 小屌丝&#…

xcode15,个推推送SDK闪退问题处理办法

个推iOS推送SDK最新版本 优化了xcode15部分场景下崩溃问题&#xff0c;以及回执上传问题&#xff0c;近期您的应用有发版计划&#xff0c;建议更新SDK&#xff1a; 1&#xff09;GTSDK更新到3.0.5.0以及以上版本&#xff1b; 2&#xff09;GTCommonSDK更新到3.1.0.0及以上版本…