密钥对儿的认证
当初始化安装 minion 启动服务启动后
- minion端生成一个秘钥对,并产生一个ID值,minion服务会安装ID值命名的公钥发送给 master ,直到接受为止;
- master认证完毕后,会将minion 端发送来的,以ID值命名的公钥存放在
/etc/salt/pki/master/minions
目录中(无扩展名); - master认证完毕后,会将自身的公钥发送给 minion,并存储为
/etc/salt/pki/minion/minion_master.pub
minion id的生成过程
minion 默认按照一定的顺序,试图找到一个不是localhost的值作为其ID
这里不需要知道salt是按照怎样的顺序取值的,只需要记住以下优先级即可
hostname
< /etc/salt/minion_id
< /etc/salt/minion文件中的id值
密钥对儿存放的位置
- master 秘钥对默认存储在
1 | /etc/salt/pki/master/master.pub |
- master 端认证的公钥存储在:
1 | /etc/salt/pki/master/minions/ |
- minion 秘钥对默认存储在
1 | /etc/salt/pki/minion/minion.pub |
- minion 存放的master公钥
1 | /etc/salt/pki/minion/minion_master.pub |
- minion_id 默认存储在
1 | /etc/salt/minion_id |
在实际使用过程中,minion端可能会遇到各种原因导致的密钥对儿不匹配的情况,造成在master端显示在denied keys列表中无法通过认证。
- [master]先在master端删除该id
- [minion]再删除minion端的key文件
- [minion]最后重启服务
1 | rm -fr /etc/salt/pki/minion/minion_master.pub |
参考文章 salt key 认证过程