基于容器制作基于ubuntu启动ssh服务的镜像
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服务的镜像相关推荐
- Docker系列06—基于容器制作镜像并上传到Docker Registry
Docker系列06-基于容器制作镜像并上传到Docker Registry 1.制作镜像 1.1 镜像的生成途径 基于容器制作 dockerfile,docker build 本篇主要详细讲解基于容 ...
- Docker基于容器制作httpd镜像(使用nfs共享存储部署一个网站)
Docker基于容器制作httpd镜像 1 编译安装httpd 2 安装nfs共享存储 3 使用nfs共享存储提供httpd网页服务 4 在浏览器上进行测试访问 1 编译安装httpd [root@d ...
- Ubuntu 如何启动 ssh 服务
Ubuntu 刚安装时默认是没有启动 ssh 服务的,所以没法通过远程终端工具进行连接,开启 ssh 服务的方式很简单,就如下几步: 1.在服务器上安装 ssh 的服务器端. aptitude ins ...
- ubuntu 下安装和启动SSH 服务
安装OPENSSH 服务端 sudo apt-get install openssh-server 查看进程是否启动 ps -e | grep ssh 删除密钥文件 rm /etc/ssh/ssh_h ...
- 【Linux】docker安装centos8启动SSH服务并跨局域网连接
适用于基于Docker的人工智能开发平台,或者容器内不能使用service.systemctl的情况(不能以docker run方式启动容器) 1.前言 # 能够docker run启动容器的建议加一 ...
- Dropbear 安装配置与启动ssh服务详解
Dropbear 安装配置与启动ssh服务详解 扎啤 关注 2017.09.12 22:57* 字数 441 阅读 4160评论 0喜欢 0 一.介绍 dropbear作为一款基于ssh协议的轻量级 ...
- Ubuntu 安装 SSH 服务
Ubuntu 安装 SSH 服务 1.安装 SSH 服务器,查看报错信息 sudo apt-get install openssh-server 2.根据报错显示的内容,需要安装对应的 openssh ...
- linux防火墙ssh日志,[Linux] ubuntu开启SSH服务及防火墙设置
一,开启SSH服务 ubuntu11.04中只默认安装了openssh-client,所以如果想用ssh远程登录ubuntu,需要下载安装openssh-server,并启动ssh服务 setp1: ...
- Ubuntu安装ssh服务(避坑指南)
Ubuntu安装ssh服务 前言 相关软件 操作步骤 后记 参考文章 前言 进行环境搭建时,想用Xshell连接虚拟机,但总提示" Connect fail-".查找了许多资料,才 ...
最新文章
- 官司一打 20 年,Linux 抄袭 Unix 终有定论,原告被 “ 熬死 ” 、IBM赔了上亿
- mac for docker访问宿主机服务
- 浅析Java虚拟机结构与机制
- firefox固定为应用标签的功能很好用
- Java字符串中常见的10个问题
- 性能测试入门(二)转:JMeter基础之一 一个简单的性能测试
- HarmonyOS之深入解析WLAN的功能和使用
- WebTable之ChildItem方法应用
- (计算机组成原理)第二章数据的表示和运算-第二节5:定点数乘法运算(原码/补码一位乘法)
- 数据全景洞察概念简介
- java中equals和 == 的区别
- 学习TP5(一):TP5框架下载与快速入门使用
- matlab单机无限大系统_单机无穷大系统暂态仿真(完整).docx
- 微信小程序跳一跳的游戏辅助实现
- python绘图设置正交坐标等距_python – 使用cartopy在其他项目中绘制投影数据
- 第6章 歌手详情页开发
- SCONS编译和使用
- micro:bit 了解
- 5G学习总结:RRM(无线资源管理)
- Roson的Qt之旅 #129 QNetworkProxyFactory(网络代理工厂)
热门文章
- 马里兰帕克分校计算机研士排名,50所中国高中排名榜(美国马里兰大学COMPULIFE研究所)...
- 【国六总结】蓝桥杯复习资料(含外设代码)
- 使用 ELK 来分析你的支付宝账单
- 李岳恒:高可用的以太坊智能合约下的Token经济即将来临
- java项目开发教程课后答案_《JavaWeb程序开发入门》课后题
- 深度学习刷SOTA有哪些trick?
- 广东省城市环境空气质量状况数据集(2014年1月-2022年5月)
- HTML网页常用的图像格式
- 已知距离和加速度计算时间
- 管理Exchange Online用户介绍(二)