2016-07-29 29 views
0

我試圖使用API​​證書和捲曲,像下面的查詢扇子API(任何端點):如何使用curl和auth憑證查詢Sensu API?

$捲曲-a用戶名:密碼http://sensu_api:url:4567/clients

I'ts給人一種:HTTP/1.1 401未經授權

這些憑據是在/etc/sensu/config.json中的api設置中配置的,uchiwa使用它們進行連接時沒有任何問題。也許我會錯過curl來查詢它。不知道爲什麼。 任何想法?謝謝!

+0

您確定您的API端口可以從外部訪問嗎?嘗試使用以下命令在您的sensu服務器上運行命令: 'curl -u user:password http://127.0.0.1:4567/clients' – tugelblend

回答

0

你不是應該使用-u代替-a

-u的,--user

指定用於服務器認證的用戶名和密碼。覆蓋-n,--netrc和--netrc-可選。

如果您只是指定用戶名,curl會提示輸入密碼。

用戶名和密碼在第一個冒號中分開,這使得用戶名中的冒號無法使用此選項。密碼仍然可以。

在基於Windows的服務器中使用Kerberos V5時,應在用戶名中包含Windows域名,以便服務器成功獲取Kerberos票據。如果您不這樣做,那麼初始身份驗證握手可能會失敗。

使用NTLM時,如果在您的設置中存在單個域和林,例如,用戶名可以簡單地指定爲用戶名,不帶域。

要指定域名,請使用Down-Level登錄名或UPN(用戶主體名稱)格式。例如,分別爲EXAMPLE \ user和[email protected]

如果您使用支持Windows SSPI的curl二進制文件並執行Kerberos V5,Negotiate,NTLM或摘要式身份驗證,那麼您可以通過指定一個冒號來指定curl從您的環境中選擇用戶名和密碼:「 -u:「。

如果多次使用此選項,將使用最後一個。