Resolvin "Permission Denied" Fehler beim Anlegen von Ubuntu Sudo User mit AI
Paul Grieselhuber
Einleitung
Während der Installation von Nginx unter Ubuntu ist eine der Voraussetzungen die Einrichtung eines normalen, nicht-root-Benutzers mit sudo-Rechten.
Dieser Prozess ist in einem Digital Ocean-Tutorial beschrieben, Installation von Nginx und anfängliche Servereinrichtung mit Ubuntu. Indem wir dem Tutorial folgten, gelang es uns, einen Benutzer (Sammy) zu erstellen, aber wir stießen auf einen Berechtigungsfehler, als wir versuchten, uns als Sammy: anzumelden:
ssh sammy@ihrer_server_ip
Die Fehlermeldung lautete "Permission denied (publickey)", und das Tutorial enthielt keine Hinweise auf eine Lösung, so dass wir den Fehler mit ein wenig Hilfe von AI selbst behoben haben.
So geht's.
Schritt 1]. Überprüfen Sie, ob der öffentliche Schlüssel auf dem lokalen Rechner vorhanden ist
Prüfen Sie zunächst, ob Sie einen SSH-Schlüssel auf Ihrem lokalen Rechner haben. Der öffentliche Schlüssel beginnt normalerweise mit ssh-ed25519, gefolgt von einer langen Zeichenfolge.
Führen Sie diesen Befehl aus:
cat ~/.ssh/id_ed25519.pub
Sie sollten etwas Ähnliches wie das hier sehen:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILM4XeQ...<blocked>...1x sammy@example.com
Kopieren Sie den gesamten Schlüssel (einschließlich des Teils ssh-ed25519) zur Verwendung in den nächsten Schritten.
Schritt 2. Umschalten auf den Server
Melden Sie sich als Root-Benutzer bei Ihrem Server an:
ssh root@Ihr_server_ip
Schritt 3. Wechseln Sie zu Sammy
Sobald Sie angemeldet sind, wechseln Sie zum Benutzer Sammy:
su - sammy
Schritt 4. Erstellen Sie das .ssh-Verzeichnis
Wenn das .ssh-Verzeichnis nicht existiert, erstellen Sie es:
mkdir -p ~/.ssh
Schritt 5. Berechtigungen für das .ssh-Verzeichnis festlegen
Legen Sie die richtigen Berechtigungen für das .ssh-Verzeichnis fest:
chmod 700 ~/.ssh
Schritt 6. Erstellen oder Öffnen der Datei authorized_keys
Öffnen Sie die Datei authorized_keys zur Bearbeitung:
nano ~/.ssh/authorized_keys
Schritt 7. Einfügen des öffentlichen Schlüssels
Fügen Sie den öffentlichen SSH-Schlüssel, den Sie zuvor kopiert haben, in die Datei authorized_keys ein. Um die authorized_keys-Datei in einem Texteditor zu öffnen, geben Sie diesen Befehl in Terminal ein:
nano ~/.ssh/authorized_keys
Sie sollten einen Bildschirm wie diesen sehen:
Kopieren Sie Ihren SSH-Schlüssel und fügen Sie ihn in die erste Zeile ein. Klicken Sie dann auf Strg + X, dann Y und Enter, um zu speichern.
Der Texteditor sollte wie folgt aussehen:
Schritt 8. Berechtigungen für authorized_keys festlegen
Legen Sie die richtigen Berechtigungen für die Datei authorized_keys fest:
chmod 600 ~/.ssh/authorized_keys
Schritt 9. Versuchen Sie, sich als Sammy anzumelden
Melden Sie sich nun vom Server ab und versuchen Sie erneut, sich als Sammy anzumelden:
ssh sammy@Ihrer_server_ip
Fazit
Wir haben ChatGPT verwendet, um dieses Problem zu beheben und hatten es innerhalb von etwa 30 Minuten gelöst. Indem wir eine Live-Konversation führten, den Anweisungen folgten und die Ergebnisse teilten, führte uns AI Schritt für Schritt durch den Prozess, bis wir uns erfolgreich als neuer Benutzer mit sudo-Rechten anmelden konnten. Dieser Fehler wurde im ursprünglichen Artikel nicht behandelt, so dass wir hoffen, dass dies für alle, die das gleiche Problem haben, hilfreich ist. Wenn es bei Ihnen nicht funktioniert, versuchen Sie es doch einmal mit ChatGPT, um zu sehen, ob es Ihnen helfen kann, das Problem zu lösen.