Wie entferne ich das Konto ec2-user von meiner Amazon EC2-Linux-Instance?
Ich möchte das standardmäßige AWS-Konto ec2-user auf meinen Amazon Elastic Compute Cloud (Amazon EC2)-Linux-Instances sicher entfernen oder sperren.
Kurzbeschreibung
Standardmäßig stellt Amazon EC2 auf Amazon Linux-, Red Hat Enterprise Linux (RHEL)- und SUSE Linux Amazon Machine Images (AMIs) das Konto ec2-user bereit. Es empfiehlt sich, ec2-user für administrative Aufgaben wie Software-Installation, Systemkonfiguration und Paketverwaltung zu verwenden. Wenn du ec2-user deaktivieren (sperren) oder löschen möchtest, stelle sicher, dass du neuen Benutzerkonten die erforderlichen administrativen Berechtigungen gewährst.
Bevor du ec2-user deaktivierst oder löschst, führe die folgenden Aktionen aus:
- Teste den Zugriff und die Berechtigungen des neuen Benutzers gründlich.
- Überprüfe und aktualisiere Skripte, Automatisierungswerkzeuge und Anwendungen, die auf ec2-user angewiesen sind.
- Richte mindestens zwei aktive administrative Benutzerkonten ein, die verfügbar bleiben, bis du alle Änderungen überprüft hast.
Lösung
Wichtig: Um zu verhindern, dass du dich versehentlich aus deiner Instance aussperrst, führe die folgenden Lösungsschritte der Reihe nach und in einer Sitzung aus.
Instances sichern
Bevor du deine Benutzerkonten änderst, empfiehlt es sich, eine Sicherung deiner EC2-Instance zu erstellen. Erstelle ein Amazon Elastic Block Store (Amazon EBS)-AMI. Oder erstelle einen Snapshot des EBS-Volumes, das deiner Instance zugeordnet ist. Du kannst diese Sicherung verwenden, um die Änderungen rückgängig zu machen, wenn Probleme auftreten.
Neues Benutzerkonto erstellen
Führe die folgenden Schritte aus:
- Stelle mit dem Konto ec2-user eine Verbindung zu deiner EC2-Instance her.
- Führe den folgenden Befehl aus, um ein neues Benutzerkonto mit administrativen Berechtigungen zu erstellen:
Hinweis: Ersetze newusername durch deinen neuen Benutzernamen.sudo adduser newusername - Führe den folgenden Befehl aus, um das neue Benutzerkonto der Gruppe wheel hinzuzufügen, die standardmäßig über sudo-Berechtigungen verfügt:
Hinweis: Ersetze newusername durch deinen neuen Benutzernamen.sudo usermod -aG wheel newusername
SSH-Zugriff für den neuen Benutzer einrichten
Führe die folgenden Schritte aus:
- Führe den folgenden Befehl aus, um ein .ssh-Verzeichnis zu erstellen:
Hinweis: Ersetze newusername durch deinen neuen Benutzernamen.sudo mkdir /home/newusername/.ssh - Führe den folgenden Befehl aus, um ein neues SSH-Schlüsselpaar zu generieren:
Hinweis: Ersetze newusername durch deinen neuen Benutzernamen und example.com durch deine Domain.ssh-keygen -t ed25519 -C "newusername@example.com" -f ~/.ssh/newusername_key - Wenn du ein neues SSH-Schlüsselpaar generiert hast, führe den folgenden Befehl aus, um den neuen öffentlichen Schlüssel auf die EC2-Instance zu kopieren:
Hinweis: Ersetze newusername durch deinen neuen Benutzernamen und your-instance-ip durch deine Instance-IP-Adresse.cat ~/.ssh/newusername_key.pub | ssh -i current_key.pem ec2-user@your-instance-ip "sudo tee /home/newusername/.ssh/authorized_keys"
Wenn du das SSH-Schlüsselpaar direkt auf der Instance generierst, stelle sicher, dass du den privaten Schlüssel sicher auf deinen lokalen Computer kopierst. Du musst den privaten Schlüssel für zukünftigen SSH-Zugriff von außerhalb der Instance verwenden. Um den privaten Schlüssel von der EC2-Instance auf deinen lokalen Computer zu kopieren, führe den folgenden Befehl aus:
Hinweis: Ersetze your-existing-key durch deinen vorhandenen Schlüssel, your-instance-ip durch die IP-Adresse deiner Instance und newusername durch deinen neuen Benutzernamen.scp -i your-existing-key.pem ec2-user@your-instance-ip:/home/ec2-user/.ssh/newusername_key.pem ~/Downloads/
Es empfiehlt sich, zur Verbesserung der Sicherheit ein neues SSH-Schlüsselpaar zu generieren. Du kannst stattdessen jedoch den SSH-Schlüssel von ec2-user wiederverwenden. Dies ermöglicht eine schnellere, aber weniger sichere Einrichtung. Um den vorhandenen öffentlichen Schlüssel von ec2-user in die autorisierten Schlüssel des neuen Benutzers zu kopieren, führe den folgenden Befehl aus:
Hinweis: Ersetze newusername durch deinen neuen Benutzernamen und example.com durch deine Domain.sudo cp /home/ec2-user/.ssh/authorized_keys /home/newusername/.ssh/authorized_keys - Führe die folgenden Befehle aus, um die erforderlichen Berechtigungen einzurichten:
Hinweis: Ersetze newusername durch deinen neuen Benutzernamen.sudo chown -R newusername:newusername /home/newusername/.ssh sudo chmod 700 /home/newusername/.ssh sudo chmod 600 /home/newusername/.ssh/authorized_keys
(Nur Amazon Linux, RHEL und SUSE) Stelle sicher, dass dein neuer Benutzer vollständigen sudo-Zugriff hat.
Führe die folgenden Schritte aus:
-
Um zu überprüfen, ob die aktuelle sudo-Konfiguration gültig ist, führe den folgenden Befehl aus:
sudo visudo -c -
Falls erforderlich, führe den folgenden Befehl aus, um die Datei sudoers zu öffnen.
sudo EDITOR=vim visudo -
Füge der Datei die folgende Zeile hinzu, wenn der neue Benutzer nicht Teil einer Gruppe wie wheel oder sudo ist:
newusername ALL=(ALL) NOPASSWD:ALLHinweis: Ersetze newusername durch deinen neuen Benutzernamen.
Zugriff des neuen Benutzers testen
Wichtig: Du musst sicherstellen, dass der neue Benutzer sowohl SSH- als auch sudo-Zugriff hat, bevor du andere administrative Benutzer entfernst oder deaktivierst.
Um sicherzustellen, dass der neue Benutzer auf die Instance zugreifen und sie bedienen kann, führe die folgenden Schritte aus:
-
Öffne ein neues Terminalfenster.
-
Führe den folgenden Befehl aus, um die SSH-Anmeldung mit dem neuen Schlüssel zu testen:
ssh -i ~/.ssh/newusername_key newusername@your-instance-ipHinweis: Ersetze newusername durch deinen neuen Benutzernamen und your-instance-ip durch deine Instance-IP-Adresse.
-
Führe den folgenden Befehl aus, um den sudo-Zugriff zu überprüfen:
sudo whoamiStelle sicher, dass du root in der Ausgabe erhältst. Beispielausgabe:
root -
(Optional) Um sicherzustellen, dass du vollständigen Zugriff hast, führe einen typischen sudo-Befehl aus. Beispielbefehl:
sudo yum update -y
Abhängigkeiten prüfen
Führe die folgenden Schritte aus:
-
Stelle sicher, dass keine Anwendungen oder Prozesse Dateien aus dem Home-Verzeichnis /home/ec2-user verwenden. Um nach offenen Dateien oder Prozessen zu suchen, führe den folgenden Befehl aus:
sudo lsof +D /home/ec2-user -
Wenn du Prozesse oder Anwendungen findest, die Dateien aus dem Home-Verzeichnis von ec2-user verwenden, musst du die Dateien und Berechtigungen migrieren. Um ein temporäres Verzeichnis für migrierte Dateien zu erstellen, führe den folgenden Befehl aus:
sudo mkdir -p /home/newusername/moved_filesHinweis: Ersetze newusername durch deinen neuen Benutzernamen.
-
Um Dateien in das Home-Verzeichnis des neuen Benutzers zu kopieren oder zu verschieben, führe den folgenden Befehl aus:
sudo cp -rp /home/ec2-user/some_app/home/newusername/moved_files/Hinweis: Ersetze some_app durch deinen Anwendungsnamen und newusername durch deinen neuen Benutzernamen.
-
Um Eigentümerschaft und Berechtigungen zu aktualisieren, führe den folgenden Befehl aus:
sudo chown -R newusername:newusername /home/newusername/moved_filesHinweis: Ersetze newusername durch deinen neuen Benutzernamen.
Wenn du crontab-Einträge hast, führe die folgenden Schritte aus:
-
Um crontab-Einträge von ec2-user zu exportieren, führe den folgenden Befehl aus:
sudo crontab -u ec2-user -l > /tmp/ec2-user-crontab -
Um crontab-Einträge für den neuen Benutzer zu importieren, führe den folgenden Befehl aus:
sudo crontab -u newusername /tmp/ec2-user-crontabHinweis: Ersetze newusername durch deinen neuen Benutzernamen.
System- und Anwendungskonfigurationen aktualisieren
Überprüfe und ändere System- oder Dienstkonfigurationsdateien, die auf ec2-user verweisen. Um in Konfigurationsdateien nach Vorkommen von ec2-user zu suchen, führe den folgenden Befehl aus:
sudo grep -r "ec2-user" /etc/
Stelle sicher, dass du anwendungsspezifische Einstellungen und Skripte aktualisierst, die ec2-user verwenden, damit sie den neuen Benutzernamen widerspiegeln.
Standardmäßig wird AWS-Systems-Manager-Agent (SSM-Agent) als ec2-user ausgeführt oder verwendet ec2-user-Berechtigungen und Umgebungseinstellungen. Erstelle eine Arbeitssitzung oder Sicherungsmethode für den Zugriff, bis du überprüft hast, dass SSM Agent mit der neuen Benutzerkonfiguration korrekt funktioniert. Bevor du ec2-user entfernst oder änderst, überprüfe, ob SSM Agent die folgenden Konfigurationen hat:
- Er wird unter einem Benutzer auf Systemebene (root) oder unter dem neuen Benutzer ausgeführt.
- Er kann auf erforderliche Systemdateien und Umgebungsvariablen zugreifen.
- Du hast ihn korrekt in der Datei /etc/amazon/ssm/amazon-ssm-agent.json konfiguriert.
Wichtig: Wenn du SSM Agent nicht konfigurierst, bevor du ec2-user deaktivierst oder löschst, verlierst du möglicherweise den Zugriff auf die folgenden Funktionen.
- Session Manager, eine Funktion von AWS Systems Manager
- Session Manager-Befehle und Automatisierung
- Inventory, eine Funktion von AWS Systems Manager
- Patch Manager, eine Funktion von AWS Systems Manager
Konto ec2-user deaktivieren
Wenn du ec2-user deaktivierst, kannst du es nicht für die Anmeldung oder andere Prozesse verwenden. Um ec2-user zu deaktivieren, führe die folgenden Schritte aus:
-
Stelle mit dem neuen Benutzerkonto eine Verbindung zu deiner EC2-Instance her.
-
Führe den folgenden Befehl aus, um die Passwortanmeldung für ec2-user zu deaktivieren:
sudo passwd -l ec2-user -
Führe den folgenden Befehl aus, um ec2-user aus der Gruppe sudo oder wheel zu entfernen.
sudo gpasswd -d ec2-user wheel -
(Optional) Um den SSH-Zugriff für ec2-user zu entfernen, führe den folgenden Befehl aus:
sudo rm /home/ec2-user/.ssh/authorized_keys
Wenn du ec2-user wieder aktivieren musst, stelle eine Verbindung zu deiner EC2-Instance her und führe den folgenden Befehl aus:
sudo passwd -u ec2-user
Benutzerkonto ec2-user löschen
Wichtig: Wenn du ec2-user löschst, entfernst du das Konto und sein Home-Verzeichnis von deiner Instance. Du kannst ec2-user nicht wieder aktivieren, wenn du es löschst.
Um ec2-user zu löschen, führe die folgenden Schritte aus:
- Stelle mit dem neuen Benutzerkonto eine Verbindung zu deiner EC2-Instance her.
- Führe den folgenden Befehl aus, um ec2-user zu löschen:
sudo userdel -r ec2-user
Wenn du ec2-user löschst, wirkt sich das auf die folgenden automatisierten Prozesse aus:
- Benutzerdefinierte Skripte, die davon ausgehen, dass ec2-user vorhanden ist, schlagen fehl.
- Cron-Jobs, die du unter ec2-user eingerichtet hast, werden nicht mehr ausgeführt.
Eine Instance wiederherstellen, auf die du nicht zugreifen kannst
Wenn du den sudo-Zugriff verlierst, verwende EC2 Instance Connect oder Session Manager, um eine Verbindung zu deiner Instance herzustellen. Oder du kannst einen Amazon EBS-Snapshot oder ein AMI verwenden, um deine Instance wiederherzustellen.
Bewährte Sicherheitsmethoden einhalten
Ergreife die folgenden Maßnahmen:
- Rotiere SSH-Schlüssel regelmäßig, um die Sicherheit zu verbessern und das Risiko eines kompromittierten Zugriffs zu verringern.
- Erstelle eindeutige SSH-Schlüssel für jeden administrativen Benutzer, um individuelle Nachvollziehbarkeit einzurichten.
- Aktiviere die Protokollierung aller sudo-Aktivitäten, um administrative Aktionen nachzuverfolgen und zu prüfen.
- Verwende für bessere kryptografische Stärke und Leistung starke, moderne Schlüsseltypen wie ed25519.
- Führe eine aktuelle Liste aller Benutzer mit administrativen Berechtigungen, um eine ordnungsgemäße Zugriffskontrolle und Überprüfung sicherzustellen.
- Überwache Anmeldeversuche, um unbefugten Zugriff oder Brute-Force-Angriffe zu erkennen.
Wichtig: Stelle sicher, dass du jederzeit auf mindestens ein vollständig funktionsfähiges administratives Benutzerkonto zugreifen kannst. Teste alle Änderungen gründlich, bevor du vorhandenen Zugriff deaktivierst oder änderst.
- Themen
- Compute
- Tags
- LinuxAmazon EC2
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 8 Monaten
AWS OFFICIALAktualisiert vor 2 Jahren
AWS OFFICIALAktualisiert vor 4 Jahren
AWS OFFICIALAktualisiert vor 2 Jahren