Initiale Servereinrichtung mit Ubuntu 22.04

Einführung

Wenn Sie einen neuen Ubuntu 22.04 Server erstellen, sollten Sie als Teil der ersten Einrichtung einige wichtige Konfigurationsschritte durchführen. Diese Schritte erhöhen die Sicherheit und Benutzerfreundlichkeit Ihres Servers und legen eine solide Grundlage für nachfolgende Aktionen.

Bereitstellen Sie Ihre Anwendungen von GitHub mit dem DigitalOcean App Platform. Lassen Sie DigitalOcean die Skalierung Ihrer App übernehmen.

Schritt 1 — Als Root einloggen

Um sich auf Ihrem Server anzumelden, benötigen Sie die öffentliche IP-Adresse des Servers. Sie benötigen auch das Passwort oder den privaten Schlüssel für das Konto des root-Benutzers, wenn Sie einen SSH-Schlüssel zur Authentifizierung installiert haben. Wenn Sie sich noch nicht auf Ihrem Server angemeldet haben, können Sie unserem Leitfaden zum Verbinden mit Droplets über SSH folgen, der diesen Vorgang im Detail erläutert.

Wenn Sie derzeit nicht mit Ihrem Server verbunden sind, melden Sie sich als Benutzer root mit folgendem Befehl an. Ersetzen Sie den markierten Teil Ihre_Server_IP des Befehls durch die öffentliche IP-Adresse Ihres Servers:

  1. ssh root@your_server_ip

Akzeptieren Sie die Warnung zur Hostauthentizität, wenn sie angezeigt wird. Wenn Ihr Server die Passwortauthentifizierung verwendet, geben Sie Ihr Root-Passwort ein, um sich anzumelden. Wenn Sie einen SSH-Schlüssel verwenden, der mit einem Passwort geschützt ist, müssen Sie möglicherweise jedes Mal, wenn Sie den Schlüssel in einer Sitzung verwenden, das Passwort eingeben. Wenn Sie sich zum ersten Mal mit einem Passwort am Server anmelden, müssen Sie möglicherweise auch das Root-Passwort ändern. Befolgen Sie die Anweisungen zum Ändern des Passworts, wenn Sie dazu aufgefordert werden.

Zu Root

Der Root-Benutzer ist der Administrationsbenutzer in einer Linux-Umgebung mit erhöhten Privilegien. Aufgrund der erhöhten Privilegien des Root-Kontos wird davon abgeraten, es regelmäßig zu verwenden. Das Root-Konto kann sogar versehentlich sehr zerstörerische Änderungen vornehmen.

Der nächste Schritt besteht darin, ein neues Benutzerkonto mit reduzierten Privilegien für den täglichen Gebrauch einzurichten. Später zeigen wir Ihnen, wie Sie vorübergehend erhöhte Privilegien erlangen können, wenn Sie sie benötigen.

Schritt 2 — Ein neues Benutzerkonto erstellen

Nachdem Sie sich als Root angemeldet haben, können Sie das neue Benutzerkonto hinzufügen. In Zukunft werden wir uns mit diesem neuen Konto anstelle von Root anmelden.

Dieses Beispiel erstellt einen neuen Benutzer namens sammy, aber Sie sollten das durch einen Benutzernamen ersetzen, den Sie mögen:

  1. adduser sammy

Sie werden einige Fragen gestellt, beginnend mit dem Kontokennwort.

Geben Sie ein starkes Kennwort ein und füllen Sie optional weitere Informationen aus, wenn Sie möchten. Diese Informationen sind nicht erforderlich, und Sie können in jedem Feld, das Sie überspringen möchten, ENTER drücken.

Schritt 3 — Gewährung administrativer Berechtigungen

Jetzt haben Sie ein neues Benutzerkonto mit regulären Kontoberechtigungen. Sie müssen jedoch manchmal administrative Aufgaben als Benutzer root ausführen.

Um sich nicht abmelden zu müssen und sich dann als Benutzer root wieder anzumelden, können Sie das einrichten, was als Superuser– oder Root-Berechtigungen für das reguläre Konto Ihres Benutzers bekannt ist. Diese Berechtigungen ermöglichen es Ihrem normalen Benutzer, Befehle mit administrativen Berechtigungen auszuführen, indem Sie das Wort sudo vor dem Befehl verwenden.

Um diese Berechtigungen Ihrem neuen Benutzer hinzuzufügen, müssen Sie den Benutzer zur sudo-Systemgruppe hinzufügen. Standardmäßig dürfen auf Ubuntu 22.04 Benutzer, die Mitglieder der sudo-Gruppe sind, den Befehl sudo verwenden.

Als root führen Sie diesen Befehl aus, um Ihren neuen Benutzer zur sudo-Gruppe hinzuzufügen (ersetzen Sie den markierten sammy-Benutzernamen durch Ihren neuen Benutzer):

  1. usermod -aG sudo sammy

Sie können nun sudo vor Befehle eingeben, um sie mit Superuser-Berechtigungen auszuführen, wenn Sie als Ihr regulärer Benutzer angemeldet sind.

Schritt 4 – Einrichten einer Firewall

Ubuntu 22.04-Server können die UFW-Firewall verwenden, um sicherzustellen, dass nur Verbindungen zu bestimmten Diensten zugelassen werden. Sie können eine grundlegende Firewall mit dieser Anwendung einrichten.

Hinweis: Wenn Ihre Server bei DigitalOcean laufen, können Sie optional statt der UFW-Firewall DigitalOcean Cloud Firewalls verwenden. Wir empfehlen, immer nur eine Firewall gleichzeitig zu verwenden, um Konflikte bei Regeln zu vermeiden, die möglicherweise schwer zu debuggen sind.

Anwendungen können ihre Profile bei der Installation bei UFW registrieren. Diese Profile ermöglichen es UFW, diese Anwendungen anhand ihres Namens zu verwalten. OpenSSH, der Dienst, der es Ihnen ermöglicht, sich mit Ihrem Server zu verbinden, hat ein Profil bei UFW registriert.

Sie können die Liste der installierten UFW-Profile anzeigen, indem Sie Folgendes eingeben:

  1. ufw app list
Output
Available applications: OpenSSH

Sie müssen sicherstellen, dass die Firewall SSH-Verbindungen zulässt, damit Sie sich das nächste Mal auf Ihren Server einloggen können. Erlauben Sie diese Verbindungen, indem Sie Folgendes eingeben:

  1. ufw allow OpenSSH

Aktivieren Sie nun die Firewall, indem Sie Folgendes eingeben:

  1. ufw enable

Geben Sie y ein und drücken Sie ENTER, um fortzufahren. Sie können sehen, dass SSH-Verbindungen immer noch erlaubt sind, indem Sie Folgendes eingeben:

  1. ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

Die Firewall blockiert derzeit alle Verbindungen außer SSH. Wenn Sie zusätzliche Dienste installieren und konfigurieren, müssen Sie die Firewall-Einstellungen anpassen, um den neuen Datenverkehr auf Ihren Server zu ermöglichen. Sie können einige gängige UFW-Operationen in unserem UFW Essentials-Leitfaden erlernen.

Schritt 5 — Aktivieren des externen Zugriffs für Ihren regulären Benutzer

Jetzt, da Sie einen regulären Benutzer für den täglichen Gebrauch haben, müssen Sie sicherstellen, dass Sie sich direkt mit diesem Konto per SSH anmelden können.

Hinweis: Bis Sie überprüft haben, dass Sie sich mit Ihrem neuen Benutzerkonto anmelden und sudo verwenden können, empfehlen wir, als root angemeldet zu bleiben. Wenn Sie Probleme beim Verbinden haben, können Sie als root Fehlersuche betreiben und erforderliche Änderungen vornehmen. Wenn Sie ein DigitalOcean-Droplet verwenden und Probleme mit Ihrer SSH-Verbindung als root haben, können Sie über die Recovery Console auf Droplets zugreifen.

Die Konfiguration des SSH-Zugriffs für Ihren neuen Benutzer hängt davon ab, ob das root-Konto Ihres Servers ein Passwort oder SSH-Schlüssel zur Authentifizierung verwendet.

Wenn das Root-Konto die Passwortauthentifizierung verwendet

Wenn Sie sich in Ihr Root-Konto mit einem Passwort eingeloggt haben, ist die Passwortauthentifizierung für SSH aktiviert. Sie können sich über SSH mit Ihrem neuen Benutzerkonto verbinden, indem Sie eine neue Terminalsession öffnen und SSH mit Ihrem neuen Benutzernamen verwenden:

  1. ssh sammy@your_server_ip

Nach Eingabe des Passworts Ihres regulären Benutzers werden Sie eingeloggt. Denken Sie daran, wenn Sie einen Befehl mit administrativen Berechtigungen ausführen müssen, geben Sie vorher sudo ein, so:

  1. sudo command_to_run

Sie werden zur Eingabe des Passworts Ihres regulären Benutzers aufgefordert, wenn Sie sudo das erste Mal pro Sitzung (und gelegentlich danach) verwenden.

Um die Sicherheit Ihres Servers zu erhöhen, empfehlen wir dringend, SSH-Schlüssel einzurichten, anstatt die Passwortauthentifizierung zu verwenden. Befolgen Sie unsere Anleitung zum Einrichten von SSH-Schlüsseln unter Ubuntu 22.04, um zu erfahren, wie Sie die authentifizierung über Schlüssel konfigurieren können.

Wenn das Root-Konto die SSH-Schlüsselauthentifizierung verwendet

Wenn Sie sich mit Ihrem root-Konto über SSH-Schlüssel angemeldet haben, ist die Passwortauthentifizierung für SSH deaktiviert. Um sich als regulärer Benutzer mit einem SSH-Schlüssel anzumelden, müssen Sie eine Kopie Ihres lokalen öffentlichen Schlüssels in die Datei ~/.ssh/authorized_keys Ihres neuen Benutzers hinzufügen.

Da Ihr öffentlicher Schlüssel bereits in der Datei ~/.ssh/authorized_keys des root-Kontos auf dem Server enthalten ist, können Sie diese Datei und Verzeichnisstruktur in Ihr neues Benutzerkonto kopieren, indem Sie Ihre aktuelle Sitzung verwenden.

Der einfachste Weg, die Dateien mit den richtigen Berechtigungen und Besitzern zu kopieren, ist der Befehl rsync. Dieser Befehl kopiert das Verzeichnis .ssh des Benutzers root, bewahrt die Berechtigungen und ändert die Dateibesitzer, alles in einem einzigen Befehl. Stellen Sie sicher, dass Sie die markierten Teile des Befehls unten ändern, um mit dem Namen Ihres regulären Benutzers übereinzustimmen:

Hinweis: Der Befehl rsync behandelt Quellen und Ziele, die mit einem abschließenden Schrägstrich enden, anders als diejenigen ohne abschließenden Schrägstrich. Wenn Sie unten rsync verwenden, stellen Sie sicher, dass das Quellverzeichnis (~/.ssh) keinen abschließenden Schrägstrich enthält (überprüfen Sie, dass Sie nicht ~/.ssh/ verwenden).

Wenn Sie versehentlich einen abschließenden Schrägstrich zum Befehl hinzufügen, kopiert rsync den Inhalt des Verzeichnisses ~/.ssh des root-Kontos in das Home-Verzeichnis des sudo-Benutzers anstelle des Kopierens der gesamten Verzeichnisstruktur von ~/.ssh. Die Dateien befinden sich dann am falschen Ort, und SSH kann sie nicht finden und verwenden.

  1. rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy

Jetzt öffnen Sie eine neue Terminal-Sitzung auf Ihrem lokalen Rechner und verwenden Sie SSH mit Ihrem neuen Benutzernamen:

  1. ssh sammy@your_server_ip

Sie sollten mit dem neuen Benutzerkonto ohne Passwort mit Ihrem Server verbunden sein. Denken Sie daran, wenn Sie einen Befehl mit administrativen Rechten ausführen müssen, geben Sie sudo vor dem Befehl ein, wie hier:

  1. sudo command_to_run

Sie werden aufgefordert, das Passwort Ihres regulären Benutzers einzugeben, wenn Sie sudo zum ersten Mal in jeder Sitzung (und gelegentlich danach) verwenden.

Wo geht es von hier aus weiter?

Zu diesem Zeitpunkt haben Sie eine solide Grundlage für Ihren Server. Sie können jetzt jede Software installieren, die Sie auf Ihrem Server benötigen.

Wenn Sie sich mit Linux-Befehlen besser vertraut machen möchten, können Sie unseren Linux-Befehlszeilen-Primer überprüfen.

Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-22-04