docker安装centos环境spark集群【3】-----ssh免密登录

OK,这一章开始搞ssh免密登录了,因为我们最终会把制作好的镜像放进我们的私有仓库,所以宿主机与容器之间的免密登录这一块我们将放在Dockerfile里面去解决。到时候我们使用强大的sh脚本来展现如何搞定。

我们先来把容器之间的免密登录解决

1 运行一个容器,准备安装必要的环境

 

2 安装必要的软件包了

docker安装centos环境spark集群【3】-----ssh免密登录_第1张图片

docker安装centos环境spark集群【3】-----ssh免密登录_第2张图片

3 创建hadoop用户组以及用户

docker安装centos环境spark集群【3】-----ssh免密登录_第3张图片

4 授予hadoop用户sudo权限

直接修改sudoers就行了,如果没有的话请yum install sudo

5 切换到hadoop用户,然后我们进行免密操作了

产生公私钥:

ssh-keygen -t rsa

cd ~/.ssh/

cp id_rsa.pub  authorized_keys

开启前准备(以下指令直接一路回车下去)

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key

ssh-keygen -t rsa -f /etc/ssh/ssh_host_ecdsa_key

ssh-keygen -t rsa -f /etc/ssh/ssh_host_ed25519_key

启动ssh:/usr/sbin/sshd

 

6 消除第一次ssh登录需要输入yes的限制

修改/etc/ssh/ssh_config文件,添加如下两行配置:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null

修改好配置后,重新启动sshd服务即可。

centos7重启ssh服务命令为systemctl restart sshd.service

 

7  制作完成,我们开始备份为新的镜像

docker commit 493e591ed63a ssh_docker

OK,大功告成,ssh_docker镜像就是我们封装好免密登录的新镜像了

下面实验一下我们的成果

切记,进入容器之后需要切换到hadoop用户,因为我们的令牌是通过hadoop用户生成的,所以如果你用默认的root用户尝试,依然是以失败告终

我们先以172.10.0.5的容器来试试

 

再去172.10.0.5的容器来试试ssh 172.10.0.4

OK,没问题。我们又想成功的路上迈进了一步了,可喜可贺,下一章我们来讲解网卡的配置了,避免每次容器启动ip的重新分配以及我们直接通过master ,slave1,slave2,slave3等等hostname来直接容器之间登录

 

你可能感兴趣的:(运维)