OpenStack-CLI-Zugriff auf die Cloud von CODE-DE-Lab mit Zwei-Faktor-Authentifizierung aktivieren
Diese Anleitung zeigt, wie Sie den OpenStack-CLI-Zugriff auf die Cloud von CODE-DE-Lab mit Zwei-Faktor-Authentifizierung (2FA) aktivieren. Sie erfahren, wie Sie die erforderlichen Werkzeuge installieren, die passende RC-Datei herunterladen und aktivieren sowie Ihre Einrichtung mit einem Testbefehl prüfen.
Inhalt dieser Anleitung
Schnelleinstieg (Zusammenfassung)
Die folgenden Hauptschritte geben einen Überblick über das gesamte Verfahren:
OpenStackClient und jq installieren
Die OpenStack RC File (2FA) aus Horizon herunterladen
Die Datei in einem Terminal mit source aktivieren
Ihr Passwort und den 2FA-Code eingeben
openstack flavor list ausführen, um den Zugriff zu prüfen
Jeder dieser Schritte wird in den folgenden Abschnitten ausführlich erläutert.
Zwei-Faktor-Authentifizierung verstehen
Um die OpenStack-CLI zu verwenden, muss sich Ihr Computer bei der Cloud authentifizieren.
Die Zwei-Faktor-Authentifizierung bietet eine zusätzliche Sicherheitsebene. In diesem Fall geben Sie neben Ihrem Passwort auch einen temporären Code ein, der von einem Gerät oder einer Softwareanwendung wie FreeOTP oder KeePassXC erzeugt wird.
Die Authentifizierungsparameter werden über eine als RC-Datei bezeichnete Skriptdatei an die CLI übergeben. Diese Datei konfiguriert Ihre Sitzung mit den erforderlichen Zugangsdaten.
Voraussetzungen
Nr. 1 Konto und Zugriff auf das OpenStack-Projekt
Verwenden Sie ein aktives Konto bei CODE-DE-Lab, mit dem Sie Horizon unter https://identity.cloudferro.com/auth/realms/CODE-DE3/account/ öffnen und auf das Projekt zugreifen können, für das Sie die RC-Datei herunterladen möchten. Das Konto muss die Rolle member+ oder admin haben; prüfen Sie den erforderlichen Zugriff unter:
Tenant-Manager-Benutzer und -Rollen auf CODE-DE-Lab
Nr. 2 OpenStackClient und eine kompatible Shell
Installieren Sie OpenStackClient auf einem mit dem Internet verbundenen Computer und verwenden Sie eine Shell, die die heruntergeladene RC-Datei mit der Endung .sh ausführen kann. Unter Linux oder macOS eignet sich eine Standardshell; unter Windows verwenden Sie Git Bash, Cygwin oder Windows Subsystem for Linux.
Installationsanweisungen finden Sie unter:
Prüfen Sie vor dem Fortfahren, ob der Befehl openstack in der ausgewählten Shell ausgeführt werden kann.
Nr. 3 Authenticator und jq für die Zwei-Faktor-Authentifizierung
Halten Sie den für dieses Konto eingerichteten Authenticator griffbereit, da die RC-Datei einen aktuellen sechsstelligen Code abfragt. Anweisungen zur Einrichtung finden Sie unter:
Zwei-Faktor-Authentifizierung auf der Website von CODE-DE-Lab mit einer mobilen Anwendung
Zwei-Faktor-Authentifizierung auf der Website von CODE-DE-Lab mit KeePassXC auf dem Desktop
Die 2FA-RC-Datei verwendet außerdem jq, um Authentifizierungstoken im JSON-Format zu verarbeiten. Installieren Sie es unter Ubuntu mit:
sudo apt update
sudo apt install jq
Führen Sie vor dem Herunterladen der RC-Datei jq --version aus und fahren Sie fort, wenn der Befehl die installierte Version zurückgibt.
RC-Datei herunterladen
Die RC-Datei enthält alle Umgebungsvariablen, die für die Authentifizierung über die CLI benötigt werden.
Melden Sie sich zum Herunterladen bei Horizon an und suchen Sie oben rechts Ihren Kontonamen.
Klicken Sie auf API Access, um zum Downloadbereich zu gelangen:
Sie sehen mehrere Downloadoptionen.
Richtige RC-Datei auswählen
Laden Sie OpenStack RC File (2FA) herunter.
Benennen Sie die heruntergeladene RC-Datei um und verschieben Sie sie für einen einfacheren Zugriff in ein Arbeitsverzeichnis. Beispiel:
mv cloud_00734_1-openrc-2fa.sh openrc.sh
Inhalt der RC-Datei
Die RC-Datei ist ein Skript, das temporäre Umgebungsvariablen wie OS_USERNAME, OS_PASSWORD und 2FA-bezogene Schlüssel setzt.
Eine typische 2FA-RC-Datei sieht so aus:
Die Datei konfiguriert Ihre Sitzung so, dass die Authentifizierung bei der Cloud mithilfe dieser Variablen automatisch erfolgt.
RC-Datei aktivieren
In diesem Schritt führen Sie die RC-Datei aus, damit Ihre Shell-Umgebung mit den darin enthaltenen Zugangsdaten aktualisiert wird.
Ubuntu/macOS
Verwenden Sie den Befehl source, um die Umgebungsvariablen zu laden:
source ./openrc.sh
Wenn der Dateiname Leerzeichen enthält, setzen Sie ihn in Anführungszeichen. Beispiel:
source ./"my openrc.sh"
Tipp
./ bezeichnet das aktuelle Verzeichnis. Führen Sie den Befehl in dem Verzeichnis aus, in dem sich die Datei befindet.
Nach der Ausführung dieses Befehls fordert Ihr Terminal Sie auf, Ihr Passwort und einen Einmalcode einzugeben.
Windows
Sie können die RC-Datei auch unter Windows ausführen, benötigen jedoch GitBash oder WSL zur Ausführung von .sh-Skripten. Lesen Sie erneut den Abschnitt zur OpenStackClient-Installation, falls Sie dies noch nicht eingerichtet haben.
RC-Datei mit Zwei-Faktor-Authentifizierung verwenden
Sie werden sowohl nach Ihrem Passwort als auch nach einem sechsstelligen TOTP-Code gefragt.
Öffnen Sie Ihre Authenticator-App und wählen Sie das mit Ihrer Cloud-Anmeldung verknüpfte Konto:
Sie sehen einen sechsstelligen Code, der alle 30 Sekunden erneuert wird:
Geben Sie den Code an der Eingabeaufforderung ein. Wenn alle Zugangsdaten korrekt sind, kehrt die Eingabeaufforderung ohne weitere Meldung zurück, und Sie können OpenStack-Befehle ausführen.
Warnung
Diese Codes laufen schnell ab — verwenden Sie immer den zuletzt angezeigten Wert.
Gültigkeitsdauer der Umgebungsvariablen
Beachten Sie, dass die von der RC-Datei gesetzten Umgebungsvariablen nur für die aktuelle Terminalsitzung gelten.
Öffnen Sie zur Veranschaulichung zwei Terminalfenster: Aktivieren Sie die RC-Datei in einem Fenster und versuchen Sie dann, im anderen einen OpenStack-Befehl auszuführen. Dieser schlägt fehl, sofern Sie die RC-Datei nicht auch dort aktivieren.
Sie müssen die Datei bei jedem Öffnen eines neuen Terminalfensters mit source laden.
CLI-Zugriff testen
Führen Sie den folgenden Befehl aus, um die erfolgreiche Authentifizierung zu prüfen:
openstack flavor list
Sie sollten eine Liste der in der Cloud verfügbaren Flavors erhalten:
Wenn dieser Befehl erfolgreich ist, ist Ihr OpenStack-CLI-Zugriff vollständig eingerichtet.
Fehlerbehebung
jq nicht installiert
Installieren Sie jq mit Ihrem Paketmanager oder laden Sie es von https://jqlang.github.io/jq/download/ herunter.
Falscher 2FA-Code oder falsches Passwort
Call to Keycloak failed with code 401 and message
{
"error": "invalid_grant",
"error_description": "Invalid user credentials"
}
Führen Sie die RC-Datei erneut aus und geben Sie Ihre Zugangsdaten nochmals ein.
Keine Internetverbindung
Wenn die Authentifizierung mit der RC-Datei fehlschlägt und diese Meldung erscheint:
Call to Keycloak failed with code 000 and message
Stellen Sie sicher, dass Ihr Gerät mit dem Internet verbunden ist, und versuchen Sie es erneut.
Falsche RC-Datei für ein 2FA-Konto
Unrecognized schema in response body. (HTTP 401)
Dies bedeutet wahrscheinlich, dass Sie die Version ohne 2FA heruntergeladen haben. Ersetzen Sie sie durch die richtige RC-Datei für Ihren Kontotyp.
Nächste Schritte
Mit aktiviertem CLI-Zugriff können Sie Ihre Cloud-Umgebung nun programmatisch verwalten.
So erstellen Sie eine virtuelle Maschine:
Eine VM mit dem OpenStack-CLI-Client in der CODE-DE-Lab Cloud erstellen
So laden Sie ein eigenes Image hoch:
Wie laden Sie Ihr benutzerdefiniertes Image mit OpenStack CLI hoch?