docker中ubuntu容器ssl设置


1,进入ubuntu容器

# centos8 docker 启动命令
docker run -itd --name centos8 --privileged centos /usr/sbin/init

docker exec -it ca276eded1be /bin/bash

//此处可以更换一下apt-get 源

sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
apt-get clean

2,安装net-tool

apt-get update
apt-get install net-tools

3,安装openssl,openssh-server ,openssh-client

apt-get install openssl
apt-get install openssh-server openssh-client
apt-get install vim
//完成之后,修改root密码
输入passwd回车会让你输入两次root密码

4,退出容器,并保存以上修改为镜像(可以先执行第五步)

exit
docker commit -m 'ssl' ca276eded1be(容器id) ubuntu_ssh
(这里会把ubuntu_ssh作为新镜像名称保存修改)

5,进入容器查看你修改是否生效

docker exec -it ca276eded1be /bin/bash(未执行第四步跳过)
vim /etc/ssh/sshd_config

//修改prohibit-password 为 yes
- PermitRootLogin prohibit-password
+ PermitRootLogin yes

//启动ssh
/usr/sbin/sshd
#要是遇到 Missing privilege separation directory: /run/sshd 
#则跑一下 mkdir /run/sshd 再 /usr/sbin/sshd
//查看是否成功过
ps -e | grep ssh

6.保存修改,并登录ssh

sudo docker run -itd  -p 8080:22 ubuntu_ssh
/usr/sbin/sshd
或
docker run -d -p 8080:22 ubuntu/ruby:v2 /usr/sbin/sshd -D

7,ssh远程登录该容器

ssh root@localhost -p 8080