Win11下为ubuntu镜像添加SSH服务

很多时候,系统管理员都习惯通过SSH服务来远程登陆管理Linux服务器,但是Docker的很多镜像是不带SSH的,当需要远程登录到容器进行一些操作的时候,就需要SSH的支持了。这里介绍如何自行创建一个带有SSH服务的镜像。以下以Ubuntu docker镜像为例:

整体思路为:

1.从镜像仓库获取标准的Ubuntu镜像。

2.启动Ubuntu镜像,并在Ubuntu容器中安装SSH服务。

3.将安装好SSH服务的Ubuntu镜像commit为新的docker镜像。

4.启动镜像。

5.在其他主机通过SSH方式连接启动的容器。

一、使用docker安装Ubuntu

Ubuntu是以桌面应用为主的GNU/Linux开源操作系统,官方译名“友邦拓”,另有“乌班图”等译名。Ubuntu每6个月会发布一个新版本,每两年会推出一个长期支持(Long Term Support,LTS)版本,一般支持3年时间。

1.下载镜像,这里下载的是最新版本的镜像:

docker pull ubuntu

2.启动容器:

docker run -it ubuntu bash

3.查看ubuntu镜像的发行版本号:

root@880d2c983b81:/# cat /etc/lsb-release

DISTRIB_ID=Ubuntu

DISTRIB_RELEASE=22.04

DISTRIB_CODENAME=jammy

DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"

二、安装和配置SSH服务 ##

首先进入容器内部

1.选择openshh-server作为服务端,安装openssh-server的命令如下:###

root@880d2c983b81:/# apt-get install openssh-server

2.如果要正常启动SSH服务,那么目录/var/run/sshd必须存在,下面手动创建:

root@880d2c983b81:/# mkdir -p /var/run/sshd

3.启动SSH服务:###

root@880d2c983b81:/# /usr/sbin/sshd -D &

4.此时查看容器的22端口,可见此端口已经处于监听状态:###

root@880d2c983b81:/# netstat -lntp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address          Foreign Address        State      PID/Program name

tcp        0      0 0.0.0.0:22              0.0.0.0:*              LISTEN      7/sshd: /usr/sbin/s

tcp6      0      0 :::22                  :::*                    LISTEN      7/sshd: /usr/sbin/s

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

root@880d2c983b81:/# sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd

6.在root用户目录下创建.ssh目录,并复制需要登录的公钥信息到authorized_keys文件中:###

root@880d2c983b81:/# mkdir root/.ssh

root@880d2c983b81:/# ssh-keygen -t rsa

root@880d2c983b81:/# cp root/.ssh/id_rsa.pub root/.ssh/authorized_keys

7.创建自动启动SSH服务的可执行文件run.sh,并添加可执行权限:

root@880d2c983b81:/# vi run.sh

root@880d2c983b81:/# chmod +x run.sh

run.sh脚本内容如下:

#!/bin/bash

/usr/sbin/sshd -D

8.退出容器:

root@880d2c983b81:/# exit

exit

三、保存镜像

将容器用docker commit命令保存为一个新的sshd:ubuntu镜像:

docker commit 880d2c983b81 ubuntu:sshd

使用docker images查看本地目前的镜像列表:

PS C:\Users\hb> docker images

REPOSITORY  TAG      IMAGE ID      CREATED      SIZE

ubuntu      sshd      d1f8d099582a  2 days ago  281MB

ubuntu      latest    216c552ea5ba  9 days ago  77.8MB

四、启动镜像

启动容器,并添加端口映射10022~22,其中10022是宿主主机的端口,22是容器SSH服务监听的端口:

docker run -p 10022:22 -itd --name usshd ubuntu:sshd /run.s

启动成功后,可以在宿主机上看到容器运行的详细信息:

PS C:\Users\hb> docker ps

CONTAINER ID  IMAGE          COMMAND    CREATED      STATUS      PORTS                  NAMES

880d2c983b81  f7239f5c3bed  "/run.sh"  3 days ago  Up 3 hours  0.0.0.0:10022->22/tcp  usshd

在宿主主机或其他主机上,可以通过SSH访问10022端口来登录容器: 如下使用secureCRT客户端连接:


Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.10.16.3-microsoft-standard-WSL2 x86_64)

* Documentation:  https://help.ubuntu.com

* Management:    https://landscape.canonical.com

* Support:        https://ubuntu.com/advantage

This system has been minimized by removing packages and content that are

not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.

Last login: Wed Oct 12 02:22:36 2022 from 172.17.0.1

root@880d2c983b81:~#

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,302评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,563评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,433评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,628评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,467评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,354评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,777评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,419评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,725评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,768评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,543评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,387评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,794评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,032评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,305评论 1 252
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,741评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,946评论 2 336

推荐阅读更多精彩内容