Vmware-Vsphere
Knife Vsphere 密碼純文字
我正在使用 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
據我使用廚師的知識,沒有其他方法可以將其加密儲存在您的機器上(我的意思是……廚師仍然必須能夠解密它)。