saltstack实现ssh key公钥分发

来源:互联网 发布:麒麟970与骁龙835知乎 编辑:程序博客网 时间:2024/03/28 19:17
  1. 以前写过一个交互式的expcet脚本实现分发公钥,以便于管理海量主机。虽说脚本不难写,但还是没有saltstack实现起来简单!
  2. 来做好了 下面开始实验了!
  3. 首先实验环境2台主机10.255.254.129 10.255.254.222
  4. #####################################################
  5. salt master
  6. master节点为10.255.254.129
  7. 管理两个minion
  8. localhost ip127.0.0.1
  9. node2 对应的ip10.255.254.222
  10. 10.255.254.129 即作为master又作为minion
  11. 注:如果对saltstack安装不懂,请看http://www.devopsh.com/713.html
  12. ####################################################
  13.  
  14. minion localhost上生成秘钥对
  15. [root@localhost ~]# ssh-keygen -t rsa
  16. Generating public/private rsa key pair.
  17. Enter file in which to save the key (/root/.ssh/id_rsa):
  18. Enter passphrase (empty for no passphrase):
  19. Enter same passphrase again:
  20. Your identification has been saved in /root/.ssh/id_rsa.
  21. Your public key has been saved in /root/.ssh/id_rsa.pub.
  22. The key fingerprint is:
  23. 58:36:a7:12:6a:84:00:3a:7c:7c:51:f2:43:38:72:d9 root@localhost.localdomain
  24. The key's randomart image is:
  25. +--[ RSA 2048]----+
  26. |+ o=o |
  27. |o..o ==E |
  28. |o..o+.oo+ . |
  29. | ..... =.+ |
  30. | o o S |
  31. | . . |
  32. | |
  33. | |
  34. | |
  35. +-----------------+
  36. 你想把谁的公钥分享出去,就在哪台主机执行
  37. ################################################################
  38. 创建salt master的fileserver目录并把localhost minion上的公钥拷贝到该目录中
  39. 本例中,salt master 与 salt minion 在同一台主机,所以用cp ,如果是不同主机,请通过网络传输过去
  40. [root@localhost yum.repos.d]# mkdir -pv /srv/salt/ssh
  41. mkdir: 已创建目录 "/srv/salt"
  42. mkdir: 已创建目录 "/srv/salt/ssh"
  43.  
  44. [root@localhost ~]# cp /root/.ssh/id_rsa.pub /srv/salt/ssh/
  45. ####################################################################
  46. 重点来了,就两条命令搞定
  47. 把node2 mininon上的主机指纹加入到localhost minion上
  48. [root@localhost .ssh]# salt 'localhost' ssh.set_known_host root 10.255.254.222
  49. 把localhost minion上的公钥分发给node2 minion
  50. [root@localhost yum.repos.d]# salt 'node2' ssh.set_auth_key_from_file root salt://ssh/id_rsa.pub
  51.  
  52. ####################################################################
  53. 在localhost minion上测试
  54. [root@localhost .ssh]# ssh 10.255.254.222
  55. 不用输入任何交换信息即可登录了!
  56. ##############################################################
0 0
原创粉丝点击