HOME/Articles/

聊聊docer(四)-docker中添加ssh服务

Article Outline

聊聊docker(四)

docker添加ssh服务

0、说明:

网易蜂巢提供了 带有openssh 服务的ubuntu系统

docker pull hub.c.163.com/public/ubuntu:16.04-tools

可以通过该命令进行镜像的下载;

1、基于官方的ubuntu镜像添加ssh服务

1.1、下载官方镜像
docker pull ubuntu
1.2、运行容器
docker run --name ubuntu -t -i -d -p 3316:22 ubuntu

即 运行ubuntu镜像,并指定镜像名称为ubuntu,

-d 以后台方式运行,启动成功后会返回该镜像的hash

-i: 以交互模式运行容器,保证容器中STDIN是开启的。通常与 -t 同时使用;

-t: 为容器重新分配一个伪tty终端,通常与 -i 同时使用;

-p 是将 主机的3316端口映射到docker ubuntu镜像的22端口(22为ssh服务的端口)

1.3、查看启动状态

通过运行docker ps可以查看该镜像的运行状态;如果运行成功,那么可以看到返回的列表中存在该容器的信息

1.4 、进入容器,安装ssh服务
docker exec -t -i ubuntu /bin/bash

这里,-i 后边,可以是 ubuntu镜像的名字,即步骤 1.2中 --name后面取的名字,也可以是 通过docker ps查看到的docker的hash值

/bin/bash 是让ubuntu进入命令行

在进入容器后,所执行的操作,和直接操作ubuntu系统类似

首先 通过 apt-get update 更新源

然后 通过 apt-get install openssh-client 安装ssh客户端程序(openssh-server会依赖openssh-client,部分ubuntu系统中已经预先安装了openssh-client)

然后 通过apt-get install openssh-server安装ssh服务程序

以上,完成了ssh的安装

在安装后,通过 /etc/init.d/ssh start 将ssh服务启动,如果安装并且启动成功,通过ps -e|grep ssh 可以查看到存在ssh的进程

在测试ssh可以正常启动后,需要配置 sshd_config的文件

首先安装vim

apt-get install vim

然后编辑sshd_config 文件

vim /etc/ssh/sshd_config

需要添加 PermitRootLogin yes 即允许以root用户的方式登录

1697474-20190826162842046-237696209.png

完成并保存后,对ssh服务重启,service ssh restart

因为要通过root 用户登录,所以要设置root用户的密码

passwd root命令可以设置root密码

在完成以上操作后,就可以通过ip:3316端口 进行ssh的连接了