OpenNebula:用户不能被authentication,放弃呼叫

我按照http://opennebula.org/documentation:rel3.2:ignc在Debian 6.0.4机器上find的指南安装了OpenNebula 3.2.1。 一切似乎很好,直到试图执行命令

onevm list 

然后我总是得到这个:

 oneadmin@opennebula-master:~$ onevm list [VirtualMachinePoolInfo] User couldn't be authenticated, aborting call. 

文件one_auth存在。 我甚至给了oneadmin用户一个密码,虽然根据指南似乎并不需要。 我将密码哈希从/ etc / shadow复制到one_auth文件。 仍然没有成功。

任何想法都表示赞赏。

请注意,Peteris的答案是OpenNebula 文档的逐字引用,大概不够清楚。

基于这个问题,似乎需要澄清两点:

  1. OpenNebula使用自己独特的身份validation,而不是系统身份validation,所以在$ ONE_AUTH环境variables中命名的文件中的用户名和密码是使用OpenNebula本身设置的。
  2. 密码字段不是散列,而是明文。 出于这个原因,确保文件具有限制性权限(例如600)是非常重要的

需要指向一个只包含一行的文件,说明“用户名:密码”。 如果ONE_AUTH未定义,则将使用$ HOME / .one / one_auth。 如果没有auth文件存在,OpenNebula将无法正常工作,因为核心层,CLI和云组件也需要这样做。