1.  拉取ubuntu镜像:这里拉取的是ubuntu:18.04版本。

[root@node1 ~]# docker pull ubuntu:18.04

2.  运行并进入容器:

[root@node1 ~]# docker run -it --name ubuntu ubuntu:18.04 bash

3.  更换容器中原有的镜像源:

root@105542f1c3df:/# mv /etc/apt/sources.list{,.bak}root@105542f1c3df:/# echo deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse > /etc/apt/sources.list.d/163.list
root@105542f1c3df:/# echo deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse >> /etc/apt/sources.list.d/163.list
root@105542f1c3df:/# echo deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse >> /etc/apt/sources.list.d/163.list
root@105542f1c3df:/# echo deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse >> /etc/apt/sources.list.d/163.list
root@105542f1c3df:/# echo deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse >> /etc/apt/sources.list.d/163.list
root@105542f1c3df:/# echo deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse >> /etc/apt/sources.list.d/163.list
root@105542f1c3df:/# echo deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse >> /etc/apt/sources.list.d/163.list
root@105542f1c3df:/# echo deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse >> /etc/apt/sources.list.d/163.list
root@105542f1c3df:/# echo deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse >> /etc/apt/sources.list.d/163.list
root@105542f1c3df:/# echo deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse >> /etc/apt/sources.list.d/163.list

4.  在容器中安装配置ssh服务:

## 更新镜像源
root@105542f1c3df:/# apt update## 安装ssh服务
root@105542f1c3df:/# apt install openssh-serverroot@105542f1c3df:/# mkdir -p /var/run/sshd## 后台运行
root@105542f1c3df:/# /usr/sbin/sshd -D &
[1] 3920

5.  取消pam登陆限制:

root@105542f1c3df:/# sed -ri 's/session    required     pam_loginuid.so/#session    required     pam_loginuid.so/' /etc/pam.d/sshd 

6.  配置免密钥登录:

## 宿主机上生成密钥对:
[root@node1 ~]# ssh-keygen -f ~/.ssh/id_rsa -P '' -q## 查看公钥文件:
[root@node1 ~]# more ~/.ssh/id_rsa.pubroot@105542f1c3df:/# mkdir /root/.ssh -p## 复制公钥到容器中:
root@105542f1c3df:/# echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC69hIhf6fyb/sVyKgF4hp8xU4dmld4iNNZ5jQxinapTXS5Ax9iKOT/VKz71137zVeqLXxNpavDBiPU841BXDBtUAbFejbAcr7Invpqwmo7Y/dKzNHb1mx0XsawCeWTDcgwroHo0Zu0QiODDtliTekL4YEtshq/4OkOO1fglR07cuwQu9DT7OoQKIQGMlzA/KsgtPge2dWSKJKzXEXPA938wHUdHId6bEyrbBfZyi773zDp0THzy3UGYQCOZ4KA20IK+qrMcNUPC7qzx5OjecytjjnFrNjoRlukAoZz4TwReGt7doqw8j90AmMdrMkU7ptGn26cs0bPW+pMYF4izyz1 root@node1 > ~/.ssh/authorized_keys

7.  配置服务启动脚本:

root@105542f1c3df:/# echo '#!/bin/bash' > /run.shroot@105542f1c3df:/# echo "/usr/sbin/sshd -D" >> /run.shroot@105542f1c3df:/# chmod +x /run.sh

8.  提交并推送镜像到Harbor上:

[root@node1 ~]# docker commit ubuntu node2.openlab.com/demo/sshd:ubuntu_v1[root@node1 ~]# docker push node2.openlab.com/demo/sshd:ubuntu_v1 

9.  运行制作的镜像node2.openlab.com/demo/sshd:ubuntu_v1:

[root@node1 ~]# docker run -d -p 10022:22 node2.openlab.com/demo/sshd:ubuntu_v1 /run.sh

10.  验证ssh是否配置成功:

## 查看10022端口是否监听:
[root@node1 ~]# ss -lntup | grep 10022
tcp    LISTEN     0      128       *:10022                 *:*                   users:(("docker-proxy",pid=6246,fd=4))
tcp    LISTEN     0      128    [::]:10022              [::]:*                   users:(("docker-proxy",pid=6250,fd=4))## ssh连接10022号端口,查看免密钥是否配置成功
[root@node1 ~]# ssh 192.168.188.111 -p 10022

基于容器制作基于ubuntu启动ssh服务的镜像相关推荐

  1. Docker系列06—基于容器制作镜像并上传到Docker Registry

    Docker系列06-基于容器制作镜像并上传到Docker Registry 1.制作镜像 1.1 镜像的生成途径 基于容器制作 dockerfile,docker build 本篇主要详细讲解基于容 ...

  2. Docker基于容器制作httpd镜像(使用nfs共享存储部署一个网站)

    Docker基于容器制作httpd镜像 1 编译安装httpd 2 安装nfs共享存储 3 使用nfs共享存储提供httpd网页服务 4 在浏览器上进行测试访问 1 编译安装httpd [root@d ...

  3. Ubuntu 如何启动 ssh 服务

    Ubuntu 刚安装时默认是没有启动 ssh 服务的,所以没法通过远程终端工具进行连接,开启 ssh 服务的方式很简单,就如下几步: 1.在服务器上安装 ssh 的服务器端. aptitude ins ...

  4. ubuntu 下安装和启动SSH 服务

    安装OPENSSH 服务端 sudo apt-get install openssh-server 查看进程是否启动 ps -e | grep ssh 删除密钥文件 rm /etc/ssh/ssh_h ...

  5. 【Linux】docker安装centos8启动SSH服务并跨局域网连接

    适用于基于Docker的人工智能开发平台,或者容器内不能使用service.systemctl的情况(不能以docker run方式启动容器) 1.前言 # 能够docker run启动容器的建议加一 ...

  6. Dropbear 安装配置与启动ssh服务详解

    Dropbear 安装配置与启动ssh服务详解  扎啤 关注 2017.09.12 22:57* 字数 441 阅读 4160评论 0喜欢 0 一.介绍 dropbear作为一款基于ssh协议的轻量级 ...

  7. Ubuntu 安装 SSH 服务

    Ubuntu 安装 SSH 服务 1.安装 SSH 服务器,查看报错信息 sudo apt-get install openssh-server 2.根据报错显示的内容,需要安装对应的 openssh ...

  8. linux防火墙ssh日志,[Linux] ubuntu开启SSH服务及防火墙设置

    一,开启SSH服务 ubuntu11.04中只默认安装了openssh-client,所以如果想用ssh远程登录ubuntu,需要下载安装openssh-server,并启动ssh服务 setp1: ...

  9. Ubuntu安装ssh服务(避坑指南)

    Ubuntu安装ssh服务 前言 相关软件 操作步骤 后记 参考文章 前言 进行环境搭建时,想用Xshell连接虚拟机,但总提示" Connect fail-".查找了许多资料,才 ...

最新文章

  1. 官司一打 20 年,Linux 抄袭 Unix 终有定论,原告被 “ 熬死 ” 、IBM赔了上亿
  2. mac for docker访问宿主机服务
  3. 浅析Java虚拟机结构与机制
  4. firefox固定为应用标签的功能很好用
  5. Java字符串中常见的10个问题
  6. 性能测试入门(二)转:JMeter基础之一 一个简单的性能测试
  7. HarmonyOS之深入解析WLAN的功能和使用
  8. WebTable之ChildItem方法应用
  9. (计算机组成原理)第二章数据的表示和运算-第二节5:定点数乘法运算(原码/补码一位乘法)
  10. 数据全景洞察概念简介
  11. java中equals和 == 的区别
  12. 学习TP5(一):TP5框架下载与快速入门使用
  13. matlab单机无限大系统_单机无穷大系统暂态仿真(完整).docx
  14. 微信小程序跳一跳的游戏辅助实现
  15. python绘图设置正交坐标等距_python – 使用cartopy在其他项目中绘制投影数据
  16. 第6章 歌手详情页开发
  17. SCONS编译和使用
  18. micro:bit 了解
  19. 5G学习总结:RRM(无线资源管理)
  20. Roson的Qt之旅 #129 QNetworkProxyFactory(网络代理工厂)

热门文章

  1. 马里兰帕克分校计算机研士排名,50所中国高中排名榜(美国马里兰大学COMPULIFE研究所)...
  2. 【国六总结】蓝桥杯复习资料(含外设代码)
  3. 使用 ELK 来分析你的支付宝账单
  4. 李岳恒:高可用的以太坊智能合约下的Token经济即将来临
  5. java项目开发教程课后答案_《JavaWeb程序开发入门》课后题
  6. 深度学习刷SOTA有哪些trick?
  7. 广东省城市环境空气质量状况数据集(2014年1月-2022年5月)
  8. HTML网页常用的图像格式
  9. 已知距离和加速度计算时间
  10. 管理Exchange Online用户介绍(二)