Ssh

用於非 puppet 系統的 puppet sshkey 集合

  • June 16, 2014

在我的系統上,我使用導出的資源和資源集合來管理我係統的 /etc/ssh/known_hosts 引用。這適用於我所有通過 puppet 管理的 SSH 主機。但我也有不受 puppet 管理的系統(交換機、路由器等),而且我沒有立即開始管理它們的計劃。

有沒有什麼優雅的方法可以將那些非託管系統的主機密鑰變成 puppet?現在我只是把它們都放在一個大醜陋的班級裡,但一定有更好的方法。我曾想過以某種方式嘗試將這些主機的密鑰移動到 hiera 或其他東西,但我還沒有找到一個不難看的解決方案。

有沒有人有我可以在這裡遵循的好方法/模式?

我曾想過以某種方式嘗試將這些主機的密鑰移動到 hiera 或其他東西,但我還沒有找到一個不難看的解決方案。

有多種方法可以實現這一目標。我嘗試保持我的類通用,我的所有配置數據都在 hiera 中。當我處理數據集合時,我嘗試使用分層雜湊,這樣我就不必更改我的類或定義程式碼。

1:使用分層散列來儲存鍵的集合。

hiera_key_hash:
   key-1:
       name: cisco500
       type: router
       key: xxx
   key-2:
       name: cisco100
       type: switch
       key: xxx

2:創建一個為每個鍵呼叫 create_resource 的類(它將呼叫定義“鍵”)。

class keys {
 create_resources( "key", hiera('hiera_key_hash') )
}

3:創建一個為每個鍵工作的定義。

define key($name, $type, $key) {
 // code goes here
}

注意:在某個階段,您最終可能會將敏感資訊儲存在您的 hiera 中。您可能需要考慮加密一些層次敏感值。

引用自:https://serverfault.com/questions/605596