OpenNebula:[HostPoolInfo] 无法验证用户身份,中止呼叫

OpenNebula:[HostPoolInfo] 无法验证用户身份,中止呼叫

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

onevm list

然后我总是得到这个:

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

文件 one_auth 存在。我甚至给 oneadmin 用户设置了密码,尽管指南上似乎没有要求。我将密码哈希从 /etc/shadow 复制到 one_auth 文件。仍然没有成功。

任何想法都值得赞赏。

答案1

请注意,Peteris 的回答是 OpenNebula 的逐字引用文档这可能还不够清楚......

根据问题,有两点似乎需要澄清:

  1. OpenNebula 使用自己独特的身份验证,而不是系统身份验证,因此 $ONE_AUTH 环境变量中命名的文件中用户名和密码是使用 OpenNebula 本身设置的。
  2. 密码字段不是哈希,而是纯文本。因此,确保文件具有限制性权限(例如 600)非常重要

答案2

需要指向一个仅包含一行“用户名:密码”的文件。如果未定义 ONE_AUTH,则将改用 $HOME/.one/one_auth。如果没有 auth 文件,OpenNebula 无法正常工作,因为核心、CLI 和云组件也需要该文件。

相关内容