Vmware-Vsphere

Knife Vsphere 密碼純文字

  • December 19, 2014

我正在使用 chef-vsphere 外掛與我們的 vsphere 主機進行互動。

作為knife-vsphere 外掛配置的一部分,您似乎必須輸入純文字密碼,我認為這似乎是錯誤的。

當我在我的配方中設置使用者時,我之前已經執行了密碼openssl passwd -1 "plainTextPassword"以獲取雜湊值,並且我在創建使用者時設置了這個,我不確定如果它在節點上或者如果它發生在哪裡在刀。

有誰知道您是否可以使用相同的雜湊方法(或其他方法)在本地儲存我的密碼以讓我登錄到 vsphere,或者我是否必須將其保留為純文字?

我目前的刀 rb 文件如下所示:

log_level                :info
log_location             STDOUT
node_name                'a-user'
client_key               'C:/Users/user/.chef/a-user.pem'
validation_client_name   'chef-validator'
validation_key           'C:/Users/user/.chef/chef-validator.pem'
chef_server_url          'https://ourChefHost01:443'
syntax_check_cache_path  'C:/Users/user/.chef/syntax_check_cache'
cookbook_path [ 'C:/Work/chef/chef-repo/cookbooks' ]
ssl_verify_mode :verify_peer
knife[:vsphere_host]="VHost"
knife[:vsphere_user]="User"
knife[:vsphere_pass]="IWantThisToBeAHashIfPossiblePlease_ThanksInAdvance!"
knife[:vsphere_dc]="Region_1"
knife[:vsphere_insecure]=false

您不能散列密碼以便以後使用該散列登錄,因為您無法檢索原始值(散列是一種單向函式)。您正在尋找的是加密

由於這knife.rb只是一個 ruby​​ 文件,您還可以從環境變數中讀取密碼(您必須在啟動終端會話後設置一次):

knife[:vsphere_user]="User"
knife[:vsphere_pass]=ENV['VSPHERE_PASS']

這將讀取VSPHERE_PASS您應該設置的變數

export VSPHERE_PASS=mypassword

據我使用廚師的知識,沒有其他方法可以將其加密儲存在您的機器上(我的意思是……廚師仍然必須能夠解密它)。

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