Chef

如何在沒有密碼的情況下遠端執行 chef-client(從 Windows 到 Windows)

  • August 30, 2017

我真的希望我在這裡遺漏了一些東西——因為我開始喜歡 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.

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