Chef
如何在沒有密碼的情況下遠端執行 chef-client(從 Windows 到 Windows)
我真的希望我在這裡遺漏了一些東西——因為我開始喜歡 Chef,但有些作品感覺非常愚蠢。
我有一個在特定憑據下執行的程序(服務)。這些憑據(使用者/密碼)在安裝服務時輸入一次,並且不再對人類可見。我希望該程序能夠執行以下刀命令:
# Go kick the nodes and tell them to update now. knife winrm "role:Xyz" "chef-client"
我不想寫下密碼或使用者名。我希望它在我目前的上下文中執行,就像我在資源管理器中瀏覽到 UNC 路徑
\\ABC\DEF
<–Windows 足夠聰明,可以知道我是誰並協商我的憑據。另一個例子是當我的服務連接到 SQL Server 時。我可以選擇不包括使用者名/密碼,而是簡單地傳遞應用程序的憑據。
當然,Chef 不需要到處硬編碼管理員密碼。請幫忙。
我找到了自己的答案。簡短的回答是“否”,該
knife
實用程序不支持這一點。但是,WinRM
它本身是否支持讓您的憑據通過網路傳輸而無需重新輸入使用者名/密碼的能力!因此,我將不得不使用該
knife
命令來查詢 Chef 以查找具有特定角色的所有節點,但從那裡,我將進入powershell
並執行以下命令:Invoke-Command -ComputerName TheComputerName -ScriptBlock { chef-client }
knife
這種事情是並行進行的,所以我只需要自己在powershell
.