Verwendung eines Schlüsselpaars (ssh-key) für Instanzen mit Cloud-Images

Bei der Erstellung eines neuen Datenträgers können Sie bei der Auswahl eines Images unter „Image als Quelle verwenden“ zwei Arten von Images sehen:

  1. Mit einem Präfix im Namen: „cloudimg“, „openstack“, „GenericCloud“ zum Beispiel: „focal-server-cloudimg-amd64“.
  2. Ohne ein Präfix, z.B. GNU Linux Debian 9.3 [EN] (siehe Abbildung unten).
../../../../_images/create_volume.png

Die Besonderheit des ersten Typs besteht darin, dass Sie sich nach der Bereitstellung von Instanzen, die auf solchen Images basieren, nur mit einem Schlüsselpaar (SSH-Schlüssel) am System anmelden können - während die Anmeldung im System, das aus einem solchen Image erstellt wurde, mit einem Benutzernamen und einem Passwort nicht funktionieren wird.

Wie man Schlüsselpaare erstellt und die erste Autorisierung im neuen System durchführt, wird in diesem Abschnitt erläutert.

Schlüsselpaar-Optionen für Instanzen in der SIM-Cloud».

Es gibt 2 Optionen für die Erstellung eines Schlüsselpaares:

  • Ein Schlüsselpaar kann in der Projektsteuerung der „SIM-Cloud“ beim Anlegen einer Instanz erstellt werden.
  • ie können ein Schlüsselpaar im Voraus auf einem lokalen Computer erstellen und dann den öffentlichen Schlüssel in die SIM-Cloud importieren und ihn bei der Erstellung der Instanz an diese anhängen.

Betrachten wir jede der Optionen Schritt für Schritt:

1. Erstellung eines Schlüsselpaares im Projekt Control Panel „Sim-Cloud“ bei der Erstellung einer Instanz.

Erstellung eines Schlüsselpaares im Dashboard bei der Erstellung einer Instanz

1.1. Erstellen Sie einen Datenträger und verwenden Sie ein Image mit dem Präfix cloudimg / openstack / GenericCloud als Quelle dafür.

1.2. Wählen Sie im Kontrollfeld des Datenträgers, gegenüber dem gewünschten Datenträger, „Instanz starten“, woraufhin sich ein neues Fenster öffnet, in dem Sie die Felder mit den erforderlichen Parametern ausfüllen müssen.

../../../../_images/volumes.png

1.3. Klicken Sie in diesem Fenster im Abschnitt „Schlüsselpaar“ auf die Schaltfläche „Schlüsselbund erstellen“.

../../../../_images/create_key_pair.png

1.4. Geben Sie in das Feld „Name des Schlüsselpaares“ den gewünschten Namen des Schlüsselpaares ein und klicken Sie auf die Schaltfläche „Schlüsselpaar erstellen“.

../../../../_images/key_pair_name.png

1.5. Als Ergebnis erhalten Sie ein Fenster mit einem neuen privaten Schlüssel. Diesen Schlüssel müssen Sie im Textformat auf Ihrem lokalen Computer speichern und dann auf die Schaltfläche „FERTIG“ klicken.

../../../../_images/create_key_pair_private_key.png

1.6. Auf dem lokalen Computer, entlang des Pfades „/home/user_name/.ssh“ (wenn sie dementsprechend heißen, „.ssh“), erstellen Sie nun mit einem beliebigen Texteditor eine Datei namens „id_rsa“ und fügen sie in den Schlüssel, den wir im vorherigen Schritt kopiert haben, hinzu. Speichern Sie die vorgenommenen Änderungen.

Wichtig

Der Schlüssel muss mit der Zeile „—– BEGIN RSA PRIVATE KEY —–“ beginnen, und mit der Zeile „—– END RSA PRIVATE KEY —–“ enden, wie etwa im Beispiel unten.

../../../../_images/create_key_pair_private_key_copy.png

1.7. Damit ist die Einrichtung der SSH-Schlüsselverbindung abgeschlossen. Nach der erfolgreichen Erstellung einer Instanz über die Befehlszeile auf dem lokalen Computer brauchen Sie nur noch den Befehl „ssh ubuntu @ server-ip-address“ einzugeben und eine Anfrage zur Verbindung mit einem neuen Server zu bestätigen.

Nach der ersten Anmeldung können Sie dem Server neue Benutzer hinzufügen, die Passwörter der bestehenden Benutzer ändern, die Login-Passwort-Autorisierung aktivieren, wenn Sie die Schlüsselauthentifizierung nicht verwenden möchten, usw.

~$ ssh ubuntu@156.67.**.8
The authenticity of host '156.67.52.82 (156.67.**.8)' can't be established.
ECDSA key fingerprint is SHA256lejXFyOX4jDtMdASdP8BLE8OHfQ.
Are you sure you want to continue connecting (yes/no)? yes

Hinweis

Wenn Sie sich zum ersten Mal auf dem Server anmelden, müssen Sie anstelle des Benutzers mit dem Namen „ubuntu“ den Benutzernamen „debian“, „centos“, „fedora“ usw. verwenden, wenn Sie Debian/CentOS/Fedora installiert haben.

2. Erstellung eines Schlüsselpaares auf dem lokalen Computer, Import des öffentlichen Schlüssels in das „SIM-Cloud“ Projekt.

Verbindung zu einer Instanz unter Verwendung eines vorhandenen ssh-Schlüssels

Beachten Sie die zweite Option zur Erstellung und Verwendung eines Schlüsselpaares.

2.1. Auf dem lokalen Computer im Terminal müssen Sie den Befehl“ssh-keygen“ ausführen. Für alle Anfragen drücken Sie einfach „Enter“. Sie erhalten ein Ergebnis, das dem in der Abbildung unten ähnelt.

../../../../_images/ssh_keygen.png

Als Ergebnis wird im Home-Ordner des Benutzers ein Ordner „.ssh“ erstellt, in dem sich 2 Dateien mit Schlüsseln befinden: public (id_rsa.pub) und private (id_rsa).

../../../../_images/id_rsa_pub.png

2.2. Wählen Sie im Control Panel „SIM-Cloud“, gehen Sie auf „Compute“ - „Schlüsselpaare“ und klicken Sie auf „Öffentlichen Schlüssel importieren“.

../../../../_images/key-pairs_list.png

2.3. In dem sich öffnenden Fenster geben Sie im Feld „Name des Schlüsselpaares“ den gewünschten Namen des Schlüsselpaares ein, klicken auf die Schaltfläche „Durchsuchen“ und wählen die Datei „id_rsa.pub“ aus, die wir im ersten Schritt erhalten haben. Drücken Sie die Schaltfläche „Öffentlichen Schlüssel importieren“. Der Schlüssel wird in der Liste der verfügbaren Schlüssel angezeigt.

../../../../_images/import_public_key.png

2.4. Im Control Panel „Sim-Cloud“ erstellen Sie einen Datenträger und als Quelle verwenden Sie das Image mit dem Präfix cloudimg / openstack / GenericCloud im Namen.

2.5. Im Control Panel der Datenträger, gegenüber dem gewünschten Datenträger, wählen Sie „Als Instanz starten“, woraufhin sich ein neues Fenster öffnet, in dem wir die Felder mit den erforderlichen Parametern ausfüllen müssen.

../../../../_images/volumes_launch_as_instance.png ../../../../_images/launch_instance_key_pair.png

2.6. In diesem Fenster wählen Sie im Abschnitt „Schlüsselpaar“ den importierten Schlüssel aus und klicken auf „Instanz starten“. Daraufhin wird der öffentliche Schlüssel automatisch in die Datei ~/.ssh/authorized_keys auf dem Server importiert.

2.7. Damit ist die Einrichtung der SSH-Schlüsselverbindung abgeschlossen. Nach erfolgreicher Erstellung einer Instanz im Terminal auf dem lokalen Computer müssen Sie nur noch den Befehl „ssh ubuntu @ server-ip-address“ eingeben und die Anfrage zur Verbindung mit dem neuen Server bestätigen. Die Autorisierung auf dem Server erfolgt automatisch, die Eingabe des Passworts ist nicht erforderlich.

Nach der ersten Anmeldung können Sie dem Server neue Benutzer hinzufügen, die Passwörter der bestehenden Benutzer ändern, die Login-Passwort-Autorisierung aktivieren, wenn Sie die Schlüsselautorisierung nicht verwenden möchten, usw.

~$ ssh ubuntu@156.67.**.8
The authenticity of host '156.67.52.82 (156.67.**.8)' can't be established.
ECDSA key fingerprint is SHA256lejXFyOX4jDtMdASdP8BLE8OHfQ.
Are you sure you want to continue connecting (yes/no)? yes

Hinweis

Wenn Sie sich zum ersten Mal auf dem Server anmelden, müssen Sie anstelle des Benutzers mit dem Namen „ubuntu“ den Benutzernamen „debian“, „centos“, „fedora“ usw. verwenden, wenn Sie Debian/CentOS/Fedora installiert haben.

3. Verbinden mit einer Instanz von mehreren Zugangspunkten

Verbindung zu einer Instanz von mehreren Hosts

Wenn Sie sich von mehreren Rechnern aus ohne Passworteingabe mit dem Server verbinden wollen, genügt es, Schritt „1“ auf jedem dieser Rechner auszuführen und den Inhalt ihrer Dateien „~/.ssh/id_rsa.pub“ in die Datei ~/. ssh/authorized_keys“ auf Ihrem Server hinzuzufügen (Sie müssen dieser Datei nur den Schlüssel hinzufügen und nicht den bereits dort eingetragenen ersetzen. Daher können Sie mehrere öffentliche Schlüssel in der Datei ~/.ssh/authorized_keys eingetragen haben, von denen jeder mit „ssh-rsa“ beginnt und mit dem Namen des Computers endet, auf dem dieser Schlüssel erzeugt wurde).

../../../../_images/authorized_keys.png

4. Hinzufügen eines Schlüsselpaares zu einer bestehenden Instanz

Wie man sich mit einer Instanz verbindet, wenn man vergessen hat, den ssh-Schlüssel anzugeben

Was ist zu tun, wenn Sie bereits einen Datenträger auf der Basis von cloudimg / openstack / GenericCloud-Images erstellt und eine Instanz auf dessen Basis bereitgestellt haben - aber gleichzeitig aus irgendeinem Grund beim Erstellen das Schlüsselpaar nicht mit der Instanz verbunden haben?

In einer solchen Situation sollten Sie die Möglichkeit in Betracht ziehen, ein Schlüsselpaar hinzuzufügen, denn ohne dieses können Sie sich nicht im Betriebssystem anmelden.

4.1 Der erste Schritt besteht darin, die Instanz über das „SIM-Cloud“ Control Panel herunterzufahren. Gehen Sie dazu in den Bereich „Compute“ - „Instanzen“ und wählen Sie für die gewünschte Instanz „Instanz abschalten“ aus der Dropdown-Liste.

../../../../_images/shut_off_instance.png

4.2 Nachdem die Instanz im gleichen Menü ausgeschaltet ist, müssen Sie den Punkt „Instanz löschen“ wählen (in diesem Fall werden der Datenträger, auf deren Grundlage sie erstellt wurde, und alle Daten intakt bleiben und nicht gelöscht. Nur die Konfiguration wird gelöscht und wir werden sie im nächsten Schritt ohne Datenverlust wiederherstellen).

4.3 Nachdem wir die Instanz gelöscht haben, gehen wir in den Bereich „Datenträger“, wählen beim gewünschten Datenträger „Als Instanz ausführen“ und füllen die Parameterfelder aus. Hier ist es wichtig, nicht zu vergessen, das zuvor importierte Schlüsselpaar gemäß Abschnitt 2 dieses Handbuchs zu verbinden oder einen Schlüsselbund wie in Abschnitt 1 beschrieben zu erstellen.

../../../../_images/launch_instance_key_pair_2.png

4.4 Als Ergebnis der durchgeführten Maßnahmen wird eine Instanz mit den erforderlichen Parametern (CPU/RAM/Netzwerk), jedoch mit einem verbundenen Schlüsselpaar und ohne Datenverlust, neu erstellt.

Nun können Sie die Betriebssystemautorisierung durchlaufen und weitere Systemeinstellungen vornehmen. Nach erfolgreicher Erstellung einer Instanz im Terminal auf dem lokalen Rechner reicht es, den Befehl „ssh ubuntu @ server-ip-address“ einzugeben und die Verbindungsanfrage zum neuen Server zu bestätigen. Die Autorisierung auf dem Server erfolgt automatisch, die Eingabe des Passwortes ist nicht notwendig. Nach der ersten Anmeldung können Sie dem Server neue Benutzer zum Server hinzufügen, die Passwörter der bestehenden Benutzer ändern, die Autorisierung per Login-Passwort aktivieren, wenn Sie die Schlüsselautorisierung nicht verwenden möchten, usw.

~$ ssh ubuntu@156.67.**.8
The authenticity of host '156.67.52.82 (156.67.**.8)' can't be established.
ECDSA key fingerprint is SHA256lejXFyOX4jDtMdASdP8BLE8OHfQ.
Are you sure you want to continue connecting (yes/no)? yes

Hinweis

Wenn Sie sich zum ersten Mal auf dem Server anmelden, müssen Sie statt des Benutzers mit dem Namen „ubuntu“ den Benutzernamen „debian“, „centos“, „fedora“ usw. verwenden, wenn Sie Debian / CentOS / Fedora einsetzen.