2016-07-29 54 views
0

Ich versuche Sensu API (jeder Endpunkt) unter Verwendung von API-Anmeldeinformationen und curl, wie folgt abfragen:Wie Abfrage Sensu API mit curl und auth Anmeldeinformationen?

$ curl -a Benutzer: Passwort http://sensu_api:url:4567/clients

I'ts geben ein: HTTP/1.1 401 Nicht autorisiert

Diese Anmeldeinformationen sind diejenigen, die in meinen API-Einstellungen in /etc/sensu/config.json konfiguriert sind und uchiwa verwendet sie, um ohne Probleme eine Verbindung herzustellen. Vielleicht vermisse ich Curl, um es abzufragen. Ich weiß nicht warum. Irgendwelche Ideen? Vielen Dank!

+0

Sind Sie sicher, dass Ihr API-Port von außen erreichbar ist? Versuchen Sie, den Befehl auf Ihrem sensu Server auszuführen: 'curl -u Benutzer: Passwort http: //127.0.0.1: 4567/clients' – tugelblend

Antwort

0

Sollten Sie nicht stattdessen mit -u -a

-u, --user

Geben Sie den Benutzernamen und das Kennwort für die Server-Authentifizierung zu verwenden. Überschreibt -n, --netrc und --netrc-optional.

Wenn Sie einfach den Benutzernamen angeben, fragt curl nach einem Passwort.

Der Benutzername und die Passwörter sind auf den ersten Doppelpunkt aufgeteilt, was es unmöglich macht, einen Doppelpunkt im Benutzernamen mit dieser Option zu verwenden. Das Passwort kann, immer noch.

Wenn Sie Kerberos V5 mit einem Windows-basierten Server verwenden, sollten Sie den Windows-Domänennamen in den Benutzernamen aufnehmen, damit der Server erfolgreich ein Kerberos-Ticket erhält. Wenn Sie dies nicht tun, kann der anfängliche Authentifizierungshandshake fehlschlagen.

Bei Verwendung von NTLM kann der Benutzername einfach als Benutzername ohne Domäne angegeben werden, wenn beispielsweise eine einzelne Domäne und Gesamtstruktur in Ihrer Konfiguration vorhanden ist.

Um den Domänennamen anzugeben, verwenden Sie entweder den Down-Level Logon Name oder UPN (User Principal Name). Beispiel: EXAMPLE \ user bzw. [email protected]

Wenn Sie eine Windows SSPI-fähige curl-Binärdatei verwenden und Kerberos V5-, Negotiate-, NTLM- oder Digest-Authentifizierung ausführen, können Sie cell den Benutzernamen und das Kennwort aus Ihrer Umgebung auswählen, indem Sie einen einzelnen Doppelpunkt mit dieser Option angeben: -u: ".

Wenn diese Option mehrmals verwendet wird, wird die letzte verwendet.