Erstes Server-Setup mit Debian 9

Einführung

Wenn Sie zum ersten Mal einen neuen Debian 9-Server erstellen, gibt es einige Konfigurationsschritte, die Sie als Teil der Grundkonfiguration frühzeitig durchführen sollten. Dies erhöht die Sicherheit und Benutzerfreundlichkeit Ihres Servers und bietet Ihnen eine solide Grundlage für nachfolgende Aktionen.

Erster Schritt - Anmeldung als Root

Um sich bei Ihrem Server anzumelden, müssen Sie die öffentliche IP-Adresse Ihres * Servers * kennen. Sie benötigen außerdem das Kennwort oder, falls Sie einen SSH-Schlüssel zur Authentifizierung installiert haben, den privaten Schlüssel für das Konto des * root * -Benutzers. Wenn Sie sich noch nicht bei Ihrem Server angemeldet haben, können Sie unserem Leitfaden unter how to folgen Verbinden Sie sich mit SSH mit Ihrem Droplet, das diesen Vorgang ausführlich behandelt.

Wenn Sie noch nicht mit Ihrem Server verbunden sind, melden Sie sich mit dem folgenden Befehl als * root * an (ersetzen Sie den hervorgehobenen Teil des Befehls durch die öffentliche IP-Adresse Ihres Servers):

ssh root@

Akzeptieren Sie die Warnung zur Hostauthentizität, falls sie angezeigt wird. Wenn Sie die Kennwortauthentifizierung verwenden, geben Sie Ihr * root * -Kennwort ein, um sich anzumelden. Wenn Sie einen SSH-Schlüssel verwenden, der durch eine Passphrase geschützt ist, werden Sie möglicherweise aufgefordert, die Passphrase einzugeben, wenn Sie den Schlüssel zum ersten Mal in jeder Sitzung verwenden. Wenn Sie sich zum ersten Mal mit einem Kennwort beim Server anmelden, werden Sie möglicherweise auch aufgefordert, das Kennwort * root * zu ändern.

Über Root

Der Benutzer * root * ist der Administrator in einer Linux-Umgebung, der über sehr weitreichende Berechtigungen verfügt. Aufgrund der erhöhten Privilegien des * root * -Kontos wird Ihnen die regelmäßige Nutzung entmutigt. Dies liegt daran, dass ein Teil der Macht, die dem * root * -Konto innewohnt, die Fähigkeit ist, selbst aus Versehen sehr zerstörerische Änderungen vorzunehmen.

Der nächste Schritt ist die Einrichtung eines alternativen Benutzerkontos mit verringertem Einflussbereich für die tägliche Arbeit. Wir bringen Ihnen bei, wie Sie in Zeiten, in denen Sie sie benötigen, erweiterte Berechtigungen erhalten.

Zweiter Schritt - Erstellen eines neuen Benutzers

Sobald Sie als * root * angemeldet sind, können Sie das neue Benutzerkonto hinzufügen, mit dem wir uns ab sofort anmelden.

In diesem Beispiel wird ein neuer Benutzer mit dem Namen * sammy * erstellt. Sie sollten ihn jedoch durch einen Benutzernamen ersetzen, der Ihnen gefällt:

adduser

Sie werden einige Fragen gestellt, beginnend mit dem Kontokennwort.

Geben Sie ein sicheres Passwort ein und geben Sie optional zusätzliche Informationen ein, wenn Sie möchten. Dies ist nicht erforderlich, und Sie können in jedem Feld, das Sie überspringen möchten, einfach "+ ENTER +" drücken.

Dritter Schritt - Erteilen von Administratorrechten

Jetzt haben wir ein neues Benutzerkonto mit regulären Kontoberechtigungen. Manchmal müssen wir jedoch administrative Aufgaben erledigen.

Um zu vermeiden, dass wir uns von unserem normalen Benutzer abmelden und uns wieder als * root * anmelden müssen, können wir für unser normales Konto sogenannte Superuser- oder * root * -Privilegien einrichten. Auf diese Weise kann unser normaler Benutzer Befehle mit Administratorrechten ausführen, indem er vor jeden Befehl das Wort "+ sudo +" einfügt.

Um diese Berechtigungen unserem neuen Benutzer hinzuzufügen, müssen wir den neuen Benutzer der Gruppe * sudo * hinzufügen. Standardmäßig dürfen Benutzer, die zur Gruppe * sudo * gehören, unter Debian 9 den Befehl + sudo + verwenden.

Führen Sie als * root * diesen Befehl aus, um Ihren neuen Benutzer der * sudo * -Gruppe hinzuzufügen (ersetzen Sie das markierte Wort durch Ihren neuen Benutzer):

usermod -aG sudo

Wenn Sie nun als normaler Benutzer angemeldet sind, können Sie vor den Befehlen "+ sudo +" eingeben, um Aktionen mit Superuser-Rechten auszuführen.

Vierter Schritt - Einrichten einer Basis-Firewall

Debian-Server können Firewalls verwenden, um sicherzustellen, dass nur Verbindungen zu bestimmten Diensten zulässig sind. Obwohl die "+ iptables +" - Firewall standardmäßig installiert ist, empfiehlt Debian keine bestimmte Firewall. In diesem Handbuch installieren und verwenden wir die UFW-Firewall, um Richtlinien festzulegen und Ausnahmen zu verwalten.

Wir können den "+ apt +" - Paketmanager verwenden, um UFW zu installieren. Aktualisieren Sie den lokalen Index, um die neuesten Informationen zu verfügbaren Paketen abzurufen, und installieren Sie die Firewall, indem Sie Folgendes eingeben:

apt update
apt install ufw

Mithilfe von Firewall-Profilen kann UFW Firewall-Regeln für Anwendungen nach Namen verwalten. Profile für einige gängige Software werden standardmäßig mit UFW gebündelt, und Pakete können während des Installationsprozesses zusätzliche Profile bei UFW registrieren. OpenSSH, der Dienst, mit dem wir uns jetzt mit unserem Server verbinden können, verfügt über ein Firewall-Profil, das wir verwenden können.

Sie können dies sehen, indem Sie Folgendes eingeben:

ufw app list
OutputAvailable applications:
 . . .
 OpenSSH
 . . .

Wir müssen sicherstellen, dass die Firewall SSH-Verbindungen zulässt, damit wir uns beim nächsten Mal wieder anmelden können. Wir können diese Verbindungen zulassen, indem wir Folgendes eingeben:

ufw allow OpenSSH

Anschließend können wir die Firewall aktivieren, indem wir Folgendes eingeben:

ufw enable

Geben Sie "+ y " ein und drücken Sie " ENTER +", um fortzufahren. Sie können feststellen, dass SSH-Verbindungen weiterhin zulässig sind, indem Sie Folgendes eingeben:

ufw status
OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

Da * die Firewall derzeit alle Verbindungen mit Ausnahme von SSH blockiert *, müssen Sie beim Installieren und Konfigurieren zusätzlicher Dienste die Firewall-Einstellungen anpassen, um akzeptablen Datenverkehr zuzulassen. Einige allgemeine UFW-Vorgänge finden Sie unter this guide.

Fünfter Schritt - Aktivieren des externen Zugriffs für Ihren regulären Benutzer

Da wir nun einen regelmäßigen Benutzer für den täglichen Gebrauch haben, müssen wir sicherstellen, dass wir SSH direkt auf das Konto übertragen können.

Der Vorgang zum Konfigurieren des SSH-Zugriffs für Ihren neuen Benutzer hängt davon ab, ob das * root * -Konto Ihres Servers ein Kennwort oder SSH-Schlüssel zur Authentifizierung verwendet.

Wenn das Root-Konto die Kennwortauthentifizierung verwendet

Wenn Sie sich mit einem Kennwort bei Ihrem * root * -Konto angemeldet haben, ist die Kennwortauthentifizierung für SSH aktiviert. Sie können SSH für Ihr neues Benutzerkonto einrichten, indem Sie eine neue Terminalsitzung eröffnen und SSH mit Ihrem neuen Benutzernamen verwenden:

ssh @

Nachdem Sie das Passwort Ihres regulären Benutzers eingegeben haben, werden Sie angemeldet. Denken Sie daran, wenn Sie einen Befehl mit Administratorrechten ausführen müssen, geben Sie "+ sudo" ein, bevor er folgendermaßen aussieht:

sudo

Sie werden aufgefordert, Ihr reguläres Benutzerkennwort einzugeben, wenn Sie "+ sudo +" zum ersten Mal in jeder Sitzung (und in regelmäßigen Abständen danach) verwenden.

Um die Sicherheit Ihres Servers zu verbessern *, wird dringend empfohlen, SSH-Schlüssel einzurichten, anstatt die Kennwortauthentifizierung zu verwenden *. Folgen Sie unserem Leitfaden unter https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys-on-debian-9, um zu erfahren, wie Sie Schlüssel konfigurieren Authentifizierung.

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

Wenn Sie sich mit SSH-Schlüsseln bei Ihrem * root * -Konto angemeldet haben, ist die Kennwortauthentifizierung für SSH deaktiviert. Sie müssen der Datei "+ ~ / .ssh / authorized_keys" des neuen Benutzers eine Kopie Ihres lokalen öffentlichen Schlüssels hinzufügen, um sich erfolgreich anmelden zu können.

Da sich Ihr öffentlicher Schlüssel bereits in der Datei "+ ~ / .ssh / authorized_keys " des * root * -Kontos auf dem Server befindet, können wir diese Datei- und Verzeichnisstruktur in unserer vorhandenen Sitzung mit dem Befehl " cp " in unser neues Benutzerkonto kopieren . Danach können wir den Besitz der Dateien mit dem Befehl ` chown +` anpassen.

Stellen Sie sicher, dass Sie die hervorgehobenen Teile des folgenden Befehls so ändern, dass sie dem Namen Ihres regulären Benutzers entsprechen:

cp -r ~/.ssh /home/
chown -R : /home//.ssh

Öffnen Sie jetzt eine neue Terminalsitzung und verwenden Sie SSH mit Ihrem neuen Benutzernamen:

ssh @

Sie sollten bei dem neuen Benutzerkonto angemeldet sein, ohne ein Kennwort zu verwenden. Denken Sie daran, wenn Sie einen Befehl mit Administratorrechten ausführen müssen, geben Sie "+ sudo" ein, bevor er folgendermaßen aussieht:

sudo

Sie werden aufgefordert, Ihr reguläres Benutzerkennwort einzugeben, wenn Sie "+ sudo +" zum ersten Mal in jeder Sitzung (und in regelmäßigen Abständen danach) verwenden.

Schritt Sechs - Abschluss der optionalen Konfiguration

Da wir nun eine solide Basiskonfiguration haben, können wir einige optionale Schritte in Betracht ziehen, um das System zugänglicher zu machen. In den folgenden Abschnitten werden einige zusätzliche Optimierungen behandelt, die sich auf die Benutzerfreundlichkeit konzentrieren.

Man Pages installieren

Debian bietet umfangreiche Handbücher für die meisten Programme in Form von "+ man " - Seiten. Bei Minimalinstallationen ist der Befehl " man +" jedoch nicht immer standardmäßig enthalten.

Installieren Sie das Paket + man-db +, um den Befehl + man + und die manuellen Datenbanken zu installieren:

sudo apt install man-db

Um das Handbuch für eine Komponente anzuzeigen, können Sie Folgendes eingeben:

man

Um beispielsweise das Handbuch für den Befehl "+ top +" anzuzeigen, geben Sie Folgendes ein:

man top

Die meisten Pakete in den Debian-Repositories enthalten Manualpages als Teil ihrer Installation.

Ändern des Standardeditors

Debian bietet eine Vielzahl von Texteditoren, von denen einige im Basissystem enthalten sind. Befehle mit integrierter Editorunterstützung wie "+ visudo" und "+ systemctl edit" übergeben Text an den Befehl "+ editor", der dem Standardeditor des Systems zugeordnet ist. Das Festlegen des Standardeditors gemäß Ihren Einstellungen kann Ihnen dabei helfen, Ihr System einfacher zu konfigurieren und Frustrationen zu vermeiden.

Wenn Ihr bevorzugter Editor nicht standardmäßig installiert ist, verwenden Sie "+ apt +", um ihn zuerst zu installieren:

sudo apt install

Als nächstes können Sie die aktuelle Standardeinstellung anzeigen und die Auswahl mit dem Befehl "+ update-alternatives" ändern:

sudo update-alternatives --config editor

Der Befehl zeigt eine Tabelle der ihm bekannten Editoren mit einer Aufforderung zum Ändern der Standardeinstellungen an:

OutputThere are 8 choices for the alternative editor (providing /usr/bin/editor).

 Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/joe         70        auto mode
 1            /bin/nano            40        manual mode
 2            /usr/bin/jmacs       50        manual mode
 3            /usr/bin/joe         70        manual mode
 4            /usr/bin/jpico       50        manual mode
 5            /usr/bin/jstar       50        manual mode
 6            /usr/bin/rjoe        25        manual mode
 7            /usr/bin/vim.basic   30        manual mode
 8            /usr/bin/vim.tiny    15        manual mode

Press <enter> to keep the current choice[*], or type selection number:

Das Sternchen ganz links zeigt die aktuelle Auswahl an. Um die Standardeinstellung zu ändern, geben Sie die "Auswahl" -Nummer für Ihren bevorzugten Editor ein und drücken Sie "+ Enter". Wenn Sie beispielsweise "+ nano " als Standardeditor in der obigen Tabelle verwenden möchten, wählen Sie " 1 +":

OutputPress <enter> to keep the current choice[*], or type selection number:
update-alternatives: using /bin/nano to provide /usr/bin/editor (editor) in manual mode

Von nun an wird Ihr bevorzugter Editor von Befehlen wie "+ visudo " und " systemctl edit " verwendet, oder wenn der Befehl " editor +" aufgerufen wird.

Wohin soll es von hier aus gehen?

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