【问题标题】:How to query Sensu API with curl and auth credentials?如何使用 curl 和 auth 凭据查询 Sensu API?
【发布时间】:2016-07-29 14:13:37
【问题描述】:

我正在尝试使用 API 凭据和 curl 查询 Sensu API(任何端点),如下所示:

$ curl -a 用户:密码http://sensu_api:url:4567/clients

我给出的是:HTTP/1.1 401 Unauthorized

这些凭据是我在 /etc/sensu/config.json 中的 api 设置中配置的凭据,uchiwa 正在使用它们进行连接,没有任何问题。也许我错过了 curl 来查询它。不知道为什么。 有任何想法吗?谢谢!

【问题讨论】:

  • 您确定您的 API 端口可以从外部访问吗?尝试使用以下命令在您的 sensu 服务器上运行命令:curl -u user:password http://127.0.0.1:4567/clients

标签: authentication curl basic-authentication sensu


【解决方案1】:

你不应该使用 -u 而不是 -a

-u,--用户

指定用于服务器身份验证的用户名和密码。覆盖 -n、--netrc 和 --netrc-optional。

如果只是指定用户名,curl 会提示输入密码。

用户名和密码在第一个冒号上分开,这使得该选项无法在用户名中使用冒号。密码还是可以的。

在基于 Windows 的服务器上使用 Kerberos V5 时,您应该在用户名中包含 Windows 域名,以便服务器成功获取 Kerberos 票证。如果您不这样做,那么初始身份验证握手可能会失败。

当使用 NTLM 时,用户名可以简单地指定为用户名,而无需域,例如,如果您的设置中有单个域和林。

要指定域名,请使用下级登录名或 UPN(用户主体名称)格式。例如,EXAMPLE\user 和 user@example.com 分别。

如果您使用启用了 Windows SSPI 的 curl 二进制文件并执行 Kerberos V5、Negotiate、NTLM 或 Digest 身份验证,那么您可以通过使用此选项指定单个冒号来告诉 curl 从您的环境中选择用户名和密码:“-你:”。

如果多次使用此选项,将使用最后一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 2021-10-23
    • 2013-08-19
    • 2023-03-16
    相关资源
    最近更新 更多