Я использую плагин ножа-vsphere для шеф-повара для взаимодействия с нашими хостами vsphere.
Как часть конфигурации для плагина ножа-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
Насколько мне известно из использования chef, другого способа сохранить ее в зашифрованном виде на вашем машина (я имею в виду .. Chef все равно должен будет ее расшифровать).