Knife Vsphere 密码 纯文本

Knife Vsphere 密码 纯文本

我正在使用 knife-vsphere 插件让 chef 与我们的 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

答案1

您无法对密码进行哈希处理,以便以后使用该哈希值登录,因为您无法检索原始值(哈希是单向函数)。你正在寻找的是加密

由于这knife.rb只是一个 ruby​​ 文件,您还可以从环境变量中读取密码(必须在启动终端会话后设置一次):

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

这将读取VSPHERE_PASS你应该设置的变量

export VSPHERE_PASS=mypassword

据我使用 chef 的知识,没有其他方法可以将其加密存储在您的机器上(我的意思是......Chef 仍然必须能够解密它)。

相关内容