saltstack實現ssh key公鑰分發

  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. ##############################################################
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章