Wie verwende ich cloud-init und Benutzerdaten, um neue AWS-Benutzerkonten mit SSH-Zugriff zu meiner EC2-Linux-Instance hinzuzufügen?
Ich möchte zusätzliche Benutzer erstellen, die mit SSH eine Verbindung zu meiner Amazon Elastic Compute Cloud (Amazon EC2)-Linux-Instance herstellen können.
Kurzbeschreibung
Beziehe den Benutzerdatenbefehl mit ein, der die folgenden Aufgaben erfüllt:
- Erstellt neue Benutzer.
- Gewährt Benutzern Sudo-Berechtigungen.
- Hängt den öffentlichen SSH-Schlüssel an die Datei authorized_keys an.
Lösung
Wichtig: Bevor du eine Instance änderst, überprüfe Folgendes:
- Wenn du die Instance anhältst und neu startest, werden die Daten auf den Instance-Speicher-Volumes gelöscht. Sichere alle Daten, die du behalten möchtest, auf dem Instance-Speicher-Volume. Weitere Informationen findest du unter Root-Volumes für die Amazon EC2-Instances.
- Wenn du die Instance anhältst und neu startest, ändert sich die öffentliche IP-Adresse deiner Instance. Es empfiehlt sich, beim Weiterleiten von externem Datenverkehr an die Instance eine Elastic-IP-Adresse anstelle einer öffentlichen IP-Adresse zu verwenden.
- Bevor du die Instance änderst, erstelle einen Snapshot deines Root-Volumes.
Führe die folgenden Schritte aus:
-
Melde dich mit SSH oder Session Manager bei der Instance an.
-
Führe den folgenden Befehl aus, um zu bestätigen, dass cloud-init installiert ist:
$ cloud-init -vWenn der Befehl einen Fehler zurückgibt, führe den folgenden Befehl aus, um eine Instance auf der Linux-Distribution zu installieren:
Für Debian-basierte Instances
$ sudo apt-get install cloud-initFür RPM-basierte Instances
sudo dnf install cloud-initFür Suse-Instances
zypper install cloud-init -
Nachdem du dich von der Installation von cloud-init vergewissert hast, fahre mit dem Anhalten der Instance fort.
**Hinweis:**Wenn die Aktion Anhalten nicht verfügbar ist, ist die Instance entweder bereits angehalten oder ihr Stammgerät ist ein Instance-Speicher-Volume. -
Generiere den öffentlichen Schlüssel aus dem privaten Schlüssel, um eine Verbindung zum/zur neuen Benutzer:in herzustellen.
Hinweis: Du benötigest ein Schlüsselpaar oder einen privaten Schlüssel, um den öffentlichen Schlüssel zu erhalten. Informationen zum Erstellen eines Schlüsselpaars findest du unter Erstellen eines Schlüsselpaars für die Amazon-EC2-Instance. Für die SSH-Sicherheit empfiehlt es sich, dass du Schlüsselpaare über die EC2-Konsole oder ein Drittanbieter-Tool erstellst.
Führe den folgenden Befehl aus, um den öffentlichen Schlüssel abzurufen. Wenn der private Schlüssel eine Passphrase hat, gib die Passphrase ein, wenn du dazu aufgefordert wirst.$ ssh-keygen -f <private_key_file> -y -
Gib den öffentlichen Schlüssel in den folgenden Befehl ein und aktualisiere dann das Benutzerdatenfeld mit diesem Befehl:
Wähle die Instance aus.
Wähle im Navigationsbereich Aktionen und dann Instance-Einstellungen aus.
Wähle Benutzerdaten bearbeiten und füge dann das Skript in das Feld ein.
Hinweis: Ersetze den Platzhalter username durch den Benutzernamen, den du verwenden möchtest. Gib für ssh-rsa AB3nzExample den öffentlichen Schlüssel ein. Wenn du eine Debian-Instance verwendest, ändere den Gruppenwert von wheel auf sudo:#cloud-config cloud_final_modules: - [users-groups,always] users: - name:username groups: [ wheel ] shell: /bin/bash sudo: ["ALL=(ALL) NOPASSWD:ALL"] ssh-authorized-keys: - ssh-rsa AB3nzExampleDer vorherige Befehl erstellt Benutzer mit uneingeschränktem Zugriff. Um den Sudo-Zugriff für Benutzer zu blockieren, setze den Wert von **sudo ** auf false. Weitere Informationen findest du unter Cloud config examples (Cloud-Konfigurationsbeispiele) auf der cloud-init-Website.
Hinweis: Standardmäßig werden cloud-init-Verzeichnisse nur ausgeführt, wenn eine Instance gestartet wird. Wenn du jedoch dieses Benutzerdatenskript verwendest, fügt cloud-init der Instance den öffentlichen Schlüssel jedes Mal hinzu, wenn die Instance neu gebootet oder neu gestartet wird. Wenn du das Benutzerdatenskript entfernst, wird die Standardfunktionalität wiederhergestellt. -
Wähle Speichern aus.
-
Wähle Aktionen, dann Instance-Status und anschließend Start aus.
-
Wenn die Instance den Status wird ausgeführt erreicht, melde dich als neue(r) Benutzer:in an. Neue Benutzer haben das gleiche Standardverhalten wie ec2-Benutzer.
Hinweis: Verwende die API-Aktion ModifyInstanceAttribute, um die Benutzerdaten einer Instance zu ändern. Erstelle eine AWS Identity and Access Management (IAM)-Richtlinie, um diese Aktion einzuschränken.
Ähnliche Informationen
Wie füge ich meiner Amazon-EC2-Linux-Instance neue Benutzerkonten mit SSH-Zugriff hinzu?
- Themen
- Compute
- Tags
- Amazon EC2Linux
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 3 Jahren