Das SSH-Protokoll für die Remoteverbindung mit Servern unterstützt die Verwendung von Schlüsselpaaren anstelle von kennwortbasierten Anmeldungen. Der private Schlüssel existiert auf dem Rechner, der die Verbindung initiiert (normalerweise eine Arbeitsstation), und der öffentliche Schlüssel existiert in einem Benutzerkonto auf dem Remote-Server. Wenn Sie versuchen, eine Verbindung herzustellen, arbeiten der öffentliche und der private Schlüssel zusammen, um den Benutzer zu authentifizieren.
Die Schlüsselpaar-Authentifizierung ist sicherer als die kennwortbasierte Authentifizierung. Wenn Sie sich regelmäßig von denselben Computern aus verbinden, schützen Sie Ihren Server vor Brute-Force-Anmeldeversuchen, indem Sie die passwortbasierte Authentifizierung über SSH deaktivieren und nur die Schlüsselpaar-Authentifizierung zulassen.
Weitere Informationen zur Verwendung von SSH zum Herstellen einer Verbindung zu Servern finden Sie in den folgenden Artikeln:
- Informationen zum Verbinden und Generieren von Schlüsseln in der Linux®-Befehlszeile oder im macOS® X-Terminal finden Sie unter:Herstellen einer Verbindung zu einem Server über SSH unter Linux oder Mac OS.
- Informationen zur Verwendung von PuTTY® unter Microsoft® Windows® zum Herstellen von SSH-Verbindungen finden Sie unter:Mit PuTTY von Windows aus mit Linux verbinden.
- Informationen zur Verwendung von PuTTYgen® unter Windows zum Generieren von Schlüsselpaaren finden Sie unter:Generieren von RSA-Schlüsseln mit SSH – PuTTYgen
Dieser Artikel behandelt die Verwendung des Befehlszeilentools python-novaclient zum Generieren eines Schlüsselpaars und zum Zuweisen seines öffentlichen Schlüssels zu einem Linux®-Server, wenn Sie den Server erstellen.
Sie können Schlüsselpaare auch direkt verwalten, indem Sie die Cloud Servers API verwenden.
Voraussetzungen
Installieren Sie den python-nova-Client auf dem Client-Rechner. Ausführliche Anweisungen zum Konfigurieren des Clients finden Sie unter Verwenden von python-novaclient mit der Rackspace Cloud.
Erstellen Sie ein Schlüsselpaar
Das keypair
Befehl in python-novaclient erstellt oder lädt ein vorhandenes Schlüsselpaar hoch und verknüpft es mit einem Namen, auf den Sie dann in Build-Vorgängen verweisen können.
Sie können ein neues Schlüsselpaar erstellen, indem Sie keypair-add
verwenden Befehl für nova
Umgehen eines Namens für das Schlüsselpaar als Argument. Die API-Operation speichert den öffentlichen Schlüssel in Ihrem Benutzerprofil. Die Ausgabe des Befehls ist der private Schlüssel.
Zum Beispiel, um ein Schlüsselpaar mit dem Namen mykey
zu erstellen und in eine Datei im .ssh ausgeben Verzeichnis des aktuellen Benutzers können Sie den folgenden Befehl ausführen:
nova keypair-add mykey > ~/.ssh/webserver_rsa
Hinweis :Geben Sie der Schlüsseldatei einen beliebigen Namen und legen Sie sie an einem Ort ab, den Sie später verwenden können. Wenn Sie mehrere Schlüssel für verschiedene Server generieren, ist es hilfreich, die Schlüsseldateien nach den Servern zu benennen.
In Ihrem Profil existiert nur der öffentliche Schlüssel. Wenn Sie den privaten Schlüssel verlieren, müssen Sie ein neues Schlüsselpaar generieren.
Laden Sie einen vorhandenen Schlüssel hoch
Wenn Sie bereits ein generiertes Schlüsselpaar haben, können Sie den öffentlichen Schlüssel zu Ihrem Profil hinzufügen, indem Sie keypair-add
verwenden Befehl für nova
mit dem --pub-key
Option, wie im folgenden Beispiel gezeigt:
nova keypair-add --pub-key id_rsa.pub mykey
Schlüssel auflisten
Um die mit Ihrem Profil verknüpften Schlüssel aufzulisten, verwenden Sie die keypair-list
Befehl für nova
, wie im folgenden Beispiel gezeigt:
nova keypair-list
Schlüsseldetails anzeigen
Um Details zu einem bestimmten öffentlichen Schlüssel in Ihrer Liste anzuzeigen, verwenden Sie keypair-show
Befehl für nova
und verweisen Sie auf den Namen, den Sie dem Schlüsselpaar zugewiesen haben, wie im folgenden Beispiel gezeigt:
nova keypair-show mykey
Sie können diesen Befehl verwenden, um Ihren öffentlichen Schlüssel zur Verwendung mit einem anderen Server abzurufen.
Taste löschen
Um einen öffentlichen Schlüssel aus Ihrem Profil zu entfernen, verwenden Sie keypair-delete
Befehl fürnova
und verweisen Sie auf den Namen, den Sie dem Schlüsselpaar zugewiesen haben, wie im folgenden Beispiel gezeigt:
nova keypair-delete mykey
Erstellen Sie einen Server mit einem injizierten Schlüssel
Um einen Server zu erstellen, der einen gespeicherten öffentlichen Schlüssel für den Root-Benutzer enthält, verwenden Sie den folgenden Boot-Server-Erstellungsbefehl mit dem --key-name
Argument:
nova boot --flavor performance1-1 --image <image-id> --key-name mykey Test_Server
Die Befehlsantwort zeigt Ihre Serverinformationen, einschließlich key_name: mykey
Feld, das den diesem Server zugeordneten Schlüssel anzeigt.
Verbinde dich mit einem Server mit einem Schlüsselpaar
Nachdem der Server, den Sie mit einem Schlüsselpaar erstellt haben, betriebsbereit ist, können Sie sich mit diesem Schlüsselpaar anmelden.
Unter Linux und macOS können Sie Ihren privaten Schlüssel zu Ihrem Benutzerkonto .ssh hinzufügen Verzeichnis und benennen Sie Ihren Server in ~/.ssh/config Datei, wie im folgenden Beispiel gezeigt:
Host myservername
User myuser
HostName myServerDnsOrIp
IdentityFile /path/to/appropriate/ssh/rsa/private/key
Oder Sie können das -i
verwenden Option für ssh
um den privaten Schlüssel für eine Verbindung zu identifizieren. Zum Beispiel:
ssh -i ~/.ssh/webserver_rsa root@server.example.com
Schlüsselpaare und rollenbasierte Zugriffskontrolle (RBAC)
Schlüsselpaare werden für Benutzer und nicht für Konten gespeichert. Daher kann ein für ein Konto konfigurierter Benutzer die Schlüssel anderer Benutzer des Kontos nicht sehen oder manipulieren, unabhängig von der diesem Benutzer zugewiesenen Rolle.
Verwenden Sie die Registerkarte „Feedback“, um Kommentare abzugeben oder Fragen zu stellen. Sie können auch ein Gespräch mit uns beginnen.