2

我正在使用 ubuntu 12.04 并运行 openstack,我已将 nova-api 的环境变量设置为从命令行工作,即nova listnova flavor-list 工作正常,但是当我尝试使用 curl 时:

curl -i  http://192.168.1.130:8774/v2/f0c12be83d214d8a9d87ae731dd81ec1/images/detail -X
GET -H "X-Auth-Project-Id: admin" -H "User-Agent: python-novaclient" -
H"Accept:application/json" -H "X-Auth-Token: XXXXX" 

回应是:

HTTP/1.1 401 Unauthorized
Www-Authenticate: Keystone uri='http://192.168.1.130:35357'
Content-Type: text/plain
Content-Length: 23
Date: Sat, 19 Oct 2013 12:13:05 GMT
Authentication required

环境是:

export OS_USERNAME=admin
export OS_PASSWORD=openstack
export OS_AUTH_URL=http:192.168.1.130:35357/v2.0
export OS_TENANT_NAME=admin

谁能帮我这个?

4

2 回答 2

2

CURL 不会从环境中获取您的 openstack 身份验证凭据。
Envs中的登录凭据仅用于 OpenStack 命令行工具。

于 2013-10-23T15:35:32.247 回答
0

我希望你已经解决了这个问题,但以防万一你没有。你的问题是这样的"X-Auth-Token: XXXXX"

您首先通过使用您的用户名和密码使用 keystone 进行身份验证来获取该令牌。然后在 curl 命令中使用令牌。

就是你的做法。

于 2014-01-12T13:08:14.527 回答