刀Vsphere密码纯文本

我使用knife-vsphere插件为厨师与我们的vSphere主机进行交互。

作为-vsphere插件的configuration的一部分,似乎你必须input一个明文密码,我认为这似乎是错误的。

当我在我的食谱中设置用户时,我以前通过openssl passwd -1 "plainTextPassword"运行密码来获取哈希值,我设置为我创build用户,我不知道如果发生这种情况如果它在节点上,或者如果它在刀上。

有谁知道,如果你可以使用相同的哈希方法(或其他)本地存储我的密码让我login到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 

您无法散列密码以便稍后使用该散列进行login,因为您无法检索原始值( 哈希是单向函数)。 你正在寻找的东西是encryption

由于knife.rb只是一个ruby文件,你也可以从一个环境variables中读取密码(在开始terminal会话之后你必须设置一次):

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

这将读取您应该设置的VSPHERE_PASSvariables

 export VSPHERE_PASS=mypassword 

据我所知,使用厨师,没有其他的方式来存储在您的机器上encryption(我的意思是厨师仍然必须能够解密)。