docker安装好后,自己动手做个自己的docker镜像,首先需要从服务器pull下一个基础的镜像,这里用centos7
(最好是root用户下,我虚拟机中的docker普通用户运行docker提示服务没有运行,奇怪)
一、下载官方原始镜像

docker pull centos:7 

稍等一会下载完成,使用

docker images

查看本地的镜像列表,如图,centos那个就是刚才下载的


接着用以下命令启动,使用image创建container并进入交互模式, login shell是/bin/bash

docker run -i -t centos:7 /bin/bash

接着终端就是容器中的centos的了,默认是root用户登录,接下来的操作都在容器中了
二、容器中安装passwd,openssl,openssh-server

yum install passwd openssl openssh-server -y

安装完成后
启动sshd:

# /usr/sbin/sshd -D

这时报以下错误:
[root@ b3426410ff43 /]# /usr/sbin/sshd
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key

执行以下命令解决:

[root@b3426410ff43 /]# ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
[root@b3426410ff43 /]# ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
[root@b3426410ff43 /]# ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N '' 

然后,修改 /etc/ssh/sshd_config 配置信息:
UsePAM yes 改为 UsePAM no
UsePrivilegeSeparation sandbox 改为 UsePrivilegeSeparation no
可以用vi改,也可以用下面命令

[root@b3426410ff43 /]# sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config
[root@b3426410ff43 /]# sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config

修改完后,重新启动sshd

[root@b3426410ff43 /]# /usr/sbin/sshd -D

然后修改root密码

passwd root

或者直接一句修改

echo "123456" | passwd --stdin root

接着需要把修改后的镜像保存了,首先输入exit退出容器,再使用下面命令查看刚运行过的,
docker commit将修改后镜像保存到本地,参数是ID,名字

#docker ps -all
CONTAINER ID IMAGE    COMMAND    CREATED       STATUS          PORTS   NAMES
b3426410ff43 centos:7  "/bin/bash" 4 minutes ago    Exited (0) 4 seconds ago      centos7ssh
#docker commit b5926410fe60 myimage/centos7-ssh

下次可以输入刚保存的名字启动修改过安装了ssh服务的镜像了。

分享一个centos7安装ssh服务后的docker-compose.yml

version: '3.7'services:centos_ssh:image: centos:7container_name: centos_sshports:- "1022:22"expose:- "1022"command: - bash- -c- |yum -y install passwd openssl openssh-serverecho "123456" | passwd --stdin rootssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_configsed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config/usr/sbin/sshd -Dtail -f /dev/null

密码及映射的端口可自行修改

docker centos7容器 安装ssh服务相关推荐

  1. Docker容器安装ssh

    Docker 容器里安装ssh和连接ssh 在服务器创建容器中安装了anaconda,为了方便敲代码,用pycharm连接容器中的anaconda,我们需要安装ssh服务 前提 创建好docker容器 ...

  2. docker 容器开启ssh服务

    ssh服务安装 安装ssh服务 #yum install openssh-server -y 安装passwd(修改密码需要) #yum install passwd -y 修改sshd_config ...

  3. 阿里云centos mysql_阿里云ECS服务器CentOS7上安装MySql服务-阿里云开发者社区

    阿里云ECS服务器CentOS7上安装MySql服务 ---------------------------------------------- 使用root登录 1.确保服务器系统处于最新状态 [ ...

  4. linux ubuntu ssh,Linux(Ubuntu)安装ssh服务

    在终端(Ctrl + Alt + T )输入 $ps -e | grep ssh 看到 " ssh-agent " 和 "sshd" ,表示没有安装服务,或没有 ...

  5. Ubuntu下安装SSH服务

    判断是否安装ssh服务,可以通过如下命令进行: $ ssh localhost ssh: connect to host localhost port 22: Connection refused 如 ...

  6. ubuntu服务器ssh登录密码修改,Ubuntu-18.04 下修改root用户密码,安装SSH服务,允许root用户远程登录,安装vsftp服务器...

    修改root用户密码 打开终端,输入 sudo passwd root 指令: 安装SSH服务 ssh默认端口号是22,可以在/etc/ssh/sshd_config文件中修改 查看服务器否开启:ne ...

  7. ubuntu ssh 登录日志_全球第一开源ERP Odoo操作手册 安装ssh服务和ssh客户端

    安装ssh服务和ssh客户端,便于远程登录进行汉化和代码更新客户端. 在 Ubuntu 服务器上执行: sudo apt-get install openssh-server 在windows上安装s ...

  8. Ubuntu 安装 SSH 服务

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

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

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

最新文章

  1. JXLS导出Excel(模板导出)
  2. key位置 win10生成的ssh_华为路由器配置SSH远程登录,就这么简单
  3. 神策数据算法专家:推荐系统的实践与思考(上)
  4. 【Python】全网最新最全Pyecharts可视化教程(三):制作多个子图
  5. 利用Kinect将投影变得可直接用手操控
  6. python爬取网页内容requests_[转][实战演练]python3使用requests模块爬取页面内容
  7. php数量百分比,mysql PHP行数+百分比
  8. Atitit prgrmlan topic--express lan QL query lan表达式语言 目录 1. 通用表达语言(CEL) 1 1.1. 8.2 功能概述 1 1.2. Ongl
  9. 仅此一文带您走入智能叮当的世界
  10. (一)基于Multisim的超外差接收系统:本地振荡器的设计
  11. Android仿QQ列表滑动
  12. 女 java转行项目经理_28岁的出路:我转行做了项目经理之后……
  13. Flutter混编工程之高速公路Pigeon
  14. spyder顺眼配色方案记录
  15. c程序语言难么,c语言难不难
  16. 大神F1 Plus和中兴V5s哪个好
  17. MVC 架构解析 - 模型(Model)篇
  18. 华为南研所2015年面试经历总结
  19. 孤立森林(Isolation Forest)
  20. nn.Upsample

热门文章

  1. c语言x1=abc什么意思,c语言起步(课件)2.1
  2. 5G NGC — 云原生的 5G 核心网架构演进
  3. 互联网协议 — HTTPS 安全的超文本传输协议
  4. 4G EPS 中建立 eNB 与 MME 之间的 S1 连接
  5. OpenStack Nova Release(Rocky to Train)
  6. ASCII、GB2312、GBK、Unicode、UTF-8介绍和转换
  7. Keil调试局部变量显示not in scope的问题解决
  8. 环境搭建之八-- node.js, npm和yarn
  9. Confluence 6 管理协同编辑
  10. Android数据填充器LayoutInflater