当前位置: 首页 > news >正文

用 Dockerfile为镜像添加SSH服务

1、基础镜像ubuntu:18.04

2、替换为国内的安装源

3、安装openssh-server

4、允许root用户远程登陆

5、暴露端口22

6、服务开机自启动

1.创建目录

[root@openEuler-node1 db]# mkdir sshd_ubuntu

2.创建 Dockerfile、 run.sh 、authorized_keys、vim aliyun.list 文件

[root@openEuler-node1 sshd_ubuntu]# cd sshd_ubuntu
[root@openEuler-node1 sshd_ubuntu]# touch Dockerfile run.sh authorized_keys vim aliyun.list

3.在宿主主机上生成 SSH 密钥对,写入authorized_keys

[root@openEuler-node1 ~]# ssh-keygen -t rsa
[root@openEuler-node1 sshd_ubuntu]# cd sshd_ubuntu
[root@openEuler-node1 sshd_ubuntu]# cat ~/.ssh/id_rsa.pub > authorized_keys 

4.编写更改Ubuntu的源为国内aliyun源

[root@openEuler-node1 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 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

5.编写run.sh

#!/bin/bash
/usr/sbin/sshd -D

5.编写 Dockerfile

[root@openEuler-node1 sshd_ubuntu]# vim Dockerfile FROM ubuntu:18.04
MAINTAINER yuj<yj@qq.com>COPY aliyun.list /etc/apt/sources.list.d/aliyun.list
RUN apt update && \apt install -y openssh-server && \mkdir /var/run/sshd && \sed -ri 's/session    required     pam_loginuid.so/#session    required     pam_loginuid.so/g' /etc/pam.d/sshd && \mkdir /root/.ssh
COPY authorized_keys /root/.ssh/
COPY run.sh /run.sh
RUN chmod 755 /run.shEXPOSE 22
CMD ["/run.sh"]

6.制作镜像并启动容器

[root@openEuler-node1 sshd_ubuntu]# docker build -t sshd:ubuntu_v1 ./
[root@openEuler-node1 sshd_ubuntu]# docker run -d -P sshd:ubuntu_v1

7.查看容器运行状态

[root@openEuler-node1 sshd_ubuntu]# docker ps 
CONTAINER ID   IMAGE            COMMAND                   CREATED             STATUS             PORTS                                     NAMES
3df76cc3dedd   sshd:ubuntu_v1   "/run.sh"                 6 seconds ago       Up 5 seconds       0.0.0.0:32776->22/tcp, :::32776->22/tcp   vigorous_williamson

8.用ssh连接登陆这个容器

[root@openEuler-node1 sshd_ubuntu]# ssh 192.168.136.55 -p 32776
The authenticity of host '[192.168.136.55]:32776 ([192.168.136.55]:32776)' can't be established.
ED25519 key fingerprint is SHA256:PCuiPOPbts35IzrOQ3PvZsU0+W+i7O1zheVc1XmDgHU.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[192.168.136.55]:32776' (ED25519) to the list of known hosts.
Welcome to Ubuntu 18.04.6 LTS (GNU/Linux 5.10.0-182.0.0.95.oe2203sp3.x86_64 x86_64)
root@3df76cc3dedd:~# 

相关文章:

用 Dockerfile为镜像添加SSH服务

1、基础镜像ubuntu:18.04 2、替换为国内的安装源 3、安装openssh-server 4、允许root用户远程登陆 5、暴露端口22 6、服务开机自启动 1.创建目录 [rootopenEuler-node1 db]# mkdir sshd_ubuntu 2.创建 Dockerfile、 run.sh 、authorized_keys、vim aliyun.list 文件 [rootop…...

Maven能解决什么问题?为什么要用?

如果没有maven&#xff0c;我们在开发一个应用的时候&#xff0c;需要自己先确定要引入哪些第三方的jar包&#xff0c;并且要去找到这些jar包&#xff0c;把他们导入到项目中&#xff0c;而且最痛苦的时候各个jar包之间的兼容性和冲突的问题。 jar包弄好了之后&#xff0c;我们…...

【Golang星辰图】探索网络和HTTP的奇妙世界:使用Go语言打造高性能应用

提升Web开发效率&#xff1a;学会使用Go语言的网络和HTTP库 前言 随着互联网的快速发展&#xff0c;网络和HTTP成为了现代应用开发中必不可少的部分。Go语言作为一门快速、可靠和高效的编程语言&#xff0c;提供了丰富的网络编程和HTTP处理库&#xff0c;使得构建高性能的网络…...

[C语言]——操作符

目录 一.算术操作符&#xff1a;、-、*、/、% 1. 和 - 2.* 3./ 4.% 二.赋值操作符&#xff1a;和复合赋值 1.连续赋值 2.复合赋值符 三.单目操作符&#xff1a;、--、、- 1.和-- 1.1前置 1.2后置 1.3前置-- 2. 和 - 四.强制类型转换 一.算术操作符&#xff1a;…...

iview碰到的一些问题总结

iview tabs嵌套使用问题 tabs嵌套使用的时候不是直接套用行了&#xff0c;直接套用会出现内层tab都集成到一级tab去&#xff0c;需要设置该属性指向对应 Tabs 的 name 字段(需要版本大于3.3.1) <Tabs name"tab1" ><TabPane label"标签1" tab&qu…...

【Python笔记-FastAPI】后台任务+WebSocket监控进度

目录 一、代码示例 二、执行说明 (一) 调用任务执行接口 (二) 监控任务进度 实现功能&#xff1a; 注册后台任务&#xff08;如&#xff1a;邮件发送、文件处理等异步场景&#xff0c;不影响接口返回&#xff09;监控后台任务执行进度&#xff08;进度条功能&#xff09;支…...

力扣hot100:15.三数之和(双指针/哈希表)

分析&#xff1a; 三数和问题&#xff0c;这里和两数之和不一样&#xff0c;返回的是值&#xff0c;因此可以对其进行排序&#xff0c;使用双指针。 一、一层循环双指针 class Solution { public:vector<vector<int>> threeSum(vector<int>& nums) {sort…...

VMware虚拟机使用Windows共享的文件夹

虚拟机版本为 VMware Workstation 16 Pro:16.2.4&#xff1b;主机位Windows11&#xff1b;记录于2024-03-05   在个人使用时&#xff0c;经常会有一些数据集等大文件重复在不同实验中使用&#xff0c;但是不同系统中来回使用会导致占用虚拟机空间&#xff0c;该博文通过将主机…...

利用Python自动化日常任务

在快节奏的现代生活中&#xff0c;时间就是一切。幸运的是&#xff0c;Python提供了一系列强大的库和工具&#xff0c;可以帮助我们自动化那些乏味且重复的任务&#xff0c;从而释放我们的时间&#xff0c;让我们可以专注于更有创造性和有意义的工作。下面&#xff0c;我们将探…...

Android的多线程和异步处理

在Android开发中&#xff0c;多线程和异步处理是处理耗时操作、提高应用响应性和性能的关键技术。以下是一些关于Android多线程和异步处理的基本概念和实践&#xff1a; 1. **主线程&#xff08;UI线程&#xff09;**&#xff1a; - Android应用的主线程负责处理UI操作和事…...

MySQL-----视图

一 视图 ▶ 介绍 视图view是一个虚拟表&#xff0c;非真实存在&#xff0c;其本质是根据SQL语句获取动态的数据集&#xff0c;并为其命名&#xff0c;用户使用时只需使用视图名称即可获取结果集&#xff0c;并可以将其当作表来使用。 数据库中存放了视图的定义&…...

LeetCode-02

225. 用队列实现栈 用两个队列实现栈的功能&#xff0c;思路如下&#xff1a; 往空队列中放新元素把非空队列中的元素依次放入刚才添加了新元素的队列&#xff0c;直到非空队列变为空队列 class MyStack(object):def __init__(self):self.queue1 []self.queue2 []def push(…...

瑞_Redis_Redis的Java客户端

文章目录 1 Redis的Java客户端1.1 Jedis快速入门1.1.1 入门案例1.1.1.1 项目构建1.1.1.2 引入依赖1.1.1.3 建立连接1.1.1.4 释放资源1.1.1.5 测试1.1.1.6 完整测试类代码 1.1.2 Jedis连接池1.1.2.1 连接池工具类1.1.2.2 改造原始代码 1.2 SpringDataRedis1.2.1 RedisTemplate1.…...

Cmake的使用

第一步&#xff1a;安装Cmake 双击点开即可&#xff0c;无脑下一步。 第二步&#xff1a;编写一个简单的Cmake项目 CMakeLists.txt文件 # 设置最低的 CMake 版本要求 cmake_minimum_required(VERSION 3.10)# 设置项目名称 project(MyProject)# 添加可执行文件 add_executabl…...

linux系统ELK组件介绍

ELK组件介绍 ELK组件介绍Elasticsearch&#xff1a;Logstash:Kibana:Kafka&#xff1a; Filebeat: ELK 官网地址&#xff1a;https://www.elastic.co 官网搭建&#xff1a;https://www.elastic.co/guide/index.html 组件介绍 Elasticsearch&#xff1a; 是一个基于Lucene的搜…...

回归预测 | Matlab实现BiTCN基于双向时间卷积网络的数据回归预测

回归预测 | Matlab实现BiTCN基于双向时间卷积网络的数据回归预测 目录 回归预测 | Matlab实现BiTCN基于双向时间卷积网络的数据回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现BiTCN基于双向时间卷积网络的数据回归预测&#xff08;完整源码和数据&a…...

Tailscale中继服务derper使用docker-compose部署

docker启动 docker run --restart always \--name derper -p 12345:12345 -p 3478:3478/udp \-v /root/.acme.sh/xxxx/:/app/certs \-e DERP_CERT_MODEmanual \-e DERP_ADDR12345 \-e DERP_DOMAINxxxx \-d ghcr.io/yangchuansheng/derper:latestdocker-compose启动 version: …...

Spring Cloud 实战系列之 Zuul 微服务网关搭建及配置

一、创建SpringBoot项目 用mavan搭建也可以。&#xff08;重要的是后面pom里应该引入那些依赖&#xff0c;application.yml怎么配置&#xff09; 由于开始构建项目时选择了Eureka Server&#xff0c;所以pom.xml中不需要手动添加依赖了 首先在启动类SpringcloudApplicatio…...

【数据结构】队列

前言&#xff1a; 本节博客是对基础数据结构队列的一种实现思路的分享&#xff0c;有需要借鉴即可。 1.队列的概念 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先 进先出FIFO(First In First Out) 入…...

学习JAVA的第十三天(基础)

目录 API之Arrays 将数组变成字符串 二分查找法查找元素 拷贝数组 填充数组 排序数组 Lambda表达式 集合的进阶 单列集合 体系结构 Collection API之Arrays 操作数组的工具类 将数组变成字符串 //将数组变成字符串char[] arr {a,b,c,d,e};System.out.println(Arra…...

对比直接使用官方api与通过taotoken接入后的网络连接稳定性体验

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比直接使用官方 API 与通过 Taotoken 接入后的网络连接稳定性体验 1. 引言 在开发基于大语言模型的应用程序时&#xff0c;一个…...

知识产权管理中的流程自动化:从人工操作到系统智能

企业知识产权部门日常工作中&#xff0c;最耗费时间的往往不是策略制定&#xff0c;而是重复性的事务处理&#xff1a;收到官方来文后手动解压、分类、重命名、上传到对应案件&#xff1b;收到审查意见后人工计算答复期限并设置提醒&#xff1b;案件状态变化后逐个更新Excel记录…...

深入解析Linux内核sk_buff:网络数据包的内存布局与核心操作

1. 项目概述&#xff1a;从“数据包”到“sk_buff”的认知跃迁在网络编程或者内核开发领域&#xff0c;无论你是刚入门的新手&#xff0c;还是已经写过几个驱动模块的开发者&#xff0c;迟早都会与一个名为sk_buff的数据结构狭路相逢。这个名字听起来有点古怪&#xff0c;它是“…...

ExternalDNS自动化DNS管理实践:实现Kubernetes服务自动注册

ExternalDNS自动化DNS管理实践&#xff1a;实现Kubernetes服务自动注册 一、ExternalDNS概述 ExternalDNS是一个Kubernetes控制器&#xff0c;能够自动同步Kubernetes资源&#xff08;如Service和Ingress&#xff09;到外部DNS服务商。它消除了手动管理DNS记录的繁琐工作&…...

git reset 怎么用?2026年最完整操作指南,撤销提交不再手足无措

代码提交了才发现写错了&#xff0c;或者本地 commit 堆了一堆想整理——你是直接新建一个"撤回"commit&#xff0c;还是对着搜索结果一脸茫然不敢乱动&#xff1f; 如果你还没搞清楚 git reset 的三种模式&#xff0c;随时可能把代码撤没了。学完本文&#xff0c;你…...

想选靠谱的呼入语音机器人?这三个核心维度别忽略

电商大促期间客服热线占线不断&#xff0c;客户等待几分钟后愤然挂断&#xff1b;夜间咨询无人值守&#xff0c;潜在商机白白流失&#xff1b;传统语音机器人只会机械重复 “请按 1”&#xff0c;遇到稍微复杂的问题就答非所问…… 这些场景几乎是每个企业客服部门的日常痛点。…...

ESP32外部中断防抖实战:用MicroPython搞定按键误触,附完整消抖代码

ESP32外部中断防抖实战&#xff1a;用MicroPython搞定按键误触&#xff0c;附完整消抖代码 当你按下ESP32开发板上的按键时&#xff0c;是否遇到过LED灯莫名其妙闪烁多次&#xff1f;或者智能家居设备偶尔会误触发某个功能&#xff1f;这些"灵异事件"的罪魁祸首&…...

如何在浏览器中零安装查看SQLite数据库?完全指南

如何在浏览器中零安装查看SQLite数据库&#xff1f;完全指南 【免费下载链接】sqlite-viewer View SQLite file online 项目地址: https://gitcode.com/gh_mirrors/sq/sqlite-viewer 你是否曾遇到过这样的情况&#xff1a;收到一个SQLite数据库文件需要快速查看&#xf…...

FreeMove:Windows系统C盘空间终极清理方案,无需重装释放数十GB

FreeMove&#xff1a;Windows系统C盘空间终极清理方案&#xff0c;无需重装释放数十GB 【免费下载链接】FreeMove Move directories without breaking shortcuts or installations 项目地址: https://gitcode.com/gh_mirrors/fr/FreeMove 还在为C盘空间不足而烦恼吗&…...

Unity渐变透明效果实现原理与生产级方案

1. 这不是调个Alpha值那么简单&#xff1a;为什么90%的Unity透明效果都“假”得明显 在Unity项目里做淡入淡出&#xff0c;很多人第一反应就是 renderer.material.color new Color(1,1,1,0.5f) ——改个alpha完事。我刚入行那会儿也这么干&#xff0c;直到上线前被美术揪着耳…...