GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwalten Sie SSH-Schlüsselpaare für Cloud-Server mit python-novaclient

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 [email protected]

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.


Linux
  1. Einrichten von containerisierten SSH-Servern für die Sitzungsaufzeichnung mit tlog

  2. So verbinden Sie sich mit plink und cmd und öffentlichem Schlüssel mit dem SSH-Server

  3. SSH-Verbindung zum Google Cloud-Server nach dem Neustart nicht möglich?

  4. Ssh Private-Public Key Map für Client?

  5. Aktualisieren Sie Citrix (XenServer) Tools für Windows-Cloudserver

So verwalten Sie einen Linux-Server mit SSH aus der Ferne

So verwalten Sie Ubuntu Server mit SSH aus der Ferne

Erstellen Sie einen Cloud-Server

Generieren Sie RSA-Schlüssel mit SSH mithilfe von PuTTYgen

Melden Sie sich mit einem privaten SSH-Schlüssel auf einem Windows-Client bei einem Linux-Server an

Verwalten Sie einen Cloud-Server