saltstack key认证过程

密钥对儿的认证

当初始化安装 minion 启动服务启动后spa

  1. minion端生成一个秘钥对,并产生一个ID值,minion服务会安装ID值命名的公钥发送给 master ,直到接受为止;
  2. master认证完毕后,会将minion 端发送来的,以ID值命名的公钥存放在 /etc/salt/pki/master/minions 目录中(无扩展名);
  3. master认证完毕后,会将自身的公钥发送给 minion,并存储为 /etc/salt/pki/minion/minion_master.pub

minion id的生成过程

minion 默认按照必定的顺序,试图找到一个不是localhost的值做为其IDrest

这里不须要知道salt是按照怎样的顺序取值的,只须要记住如下优先级便可code

hostname < /etc/salt/minion_id < /etc/salt/minion文件中的id值io


密钥对儿存放的位置

  • master 秘钥对默认存储在
1
2
/etc/salt/pki/master/master.pub 
/etc/salt/pki/master/master.pem
  • master 端认证的公钥存储在:
1
/etc/salt/pki/master/minions/
  • minion 秘钥对默认存储在
1
2
/etc/salt/pki/minion/minion.pub 
/etc/salt/pki/minion/minion.pem
  • minion 存放的master公钥
1
/etc/salt/pki/minion/minion_master.pub
  • minion_id 默认存储在
1
/etc/salt/minion_id

在实际使用过程当中,minion端可能会遇到各类缘由致使的密钥对儿不匹配的状况,形成在master端显示在denied keys列表中没法经过认证。table

  • [master]先在master端删除该id
  • [minion]再删除minion端的key文件
  • [minion]最后重启服务
1
2
3
4
5
6
7
8
rm -fr /etc/salt/pki/minion/minion_master.pub
#经过上面的介绍能够得知,以上这个文件是在master端认证经过以后,发放到minion端的公钥
#形成出现这个文件状况是由于早期链接了一个其余的master,更换master致使原公钥没法匹配
#删除与旧master认证的公钥文件
rm -fr /etc/salt/pki/minion/minion.pem #删除minion的私钥文件
rm -fr /etc/salt/pki/minion/minion.pub #删除minion的公钥文件
service salt-minion restart #重启服务 会自动从新生成新的密钥对儿
#此时master端查看keys时,新的主机已经出如今Unaccepted Keys的列表中了

===========================================================================================================================================================ast

SALTSTACK 安装完成后默认使用hostname 做为ID,须要修改ID:class

1.中止minion服务扩展

2.删除salt-minion 公钥文件  /etc/salt/pki/minion.pub      /etc/salt/pki/minion.pemservice

3.修改新的minion_id nio

4.MASTER上删除旧的KEY

 

5.MINION端从新启动  

6.MASTER端从新接受新的key

修改完成。

因没法截图至外网区域,故只留文字记录修改过程。