Erstes Server-Setup mit CentOS 7

Einführung

Wenn Sie zum ersten Mal einen neuen Server erstellen, sollten Sie im Rahmen der Grundkonfiguration einige Konfigurationsschritte ausführen. Dies erhöht die Sicherheit und Benutzerfreundlichkeit Ihres Servers und bietet Ihnen eine solide Grundlage für nachfolgende Aktionen.

[[Schritt eins - Root-Login]] == Schritt Eins - Root-Login

Um sich bei Ihrem Server anzumelden, müssen Sie die öffentliche IP-Adresse Ihres Servers und das Kennwort für das Konto des Root-Benutzers kennen. Wenn Sie sich noch nicht bei Ihrem Server angemeldet haben, können Sie dem ersten Lernprogramm dieser Reihe,How to Connect to Your Droplet with SSH, folgen, das diesen Vorgang ausführlich behandelt.

Wenn Sie noch nicht mit Ihrem Server verbunden sind, melden Sie sich mit dem folgenden Befehl alsroot-Benutzer an (ersetzen Sie das hervorgehobene Wort durch die öffentliche IP-Adresse Ihres Servers):

ssh root@SERVER_IP_ADDRESS

Schließen Sie den Anmeldevorgang ab, indem Sie die angezeigte Warnung zur Hostauthentizität akzeptieren und anschließend Ihre Root-Authentifizierung (Kennwort oder privater Schlüssel) angeben. Wenn Sie sich zum ersten Mal mit einem Kennwort beim Server anmelden, werden Sie auch aufgefordert, das Root-Kennwort zu ändern.

Über Root

Der Root-Benutzer ist der administrative Benutzer in einer Linux-Umgebung, der über sehr weitreichende Berechtigungen verfügt. Aufgrund der erhöhten Berechtigungen des Root-Kontos sind Sie tatsächlichdiscouraged davon entfernt, es regelmäßig zu verwenden. 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.

[[Schritt zwei - Erstellen eines neuen Benutzers]] == Schritt Zwei - Erstellen eines neuen Benutzers

Sobald Sie alsroot 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 "Demo" erstellt. Sie sollten ihn jedoch durch einen Benutzernamen ersetzen, der Ihnen gefällt:

adduser demo

Als nächstes weisen Sie dem neuen Benutzer ein Passwort zu (ersetzen Sie erneut "Demo" durch den Benutzer, den Sie gerade erstellt haben):

passwd demo

Geben Sie ein sicheres Passwort ein und wiederholen Sie es erneut, um es zu überprüfen.

[[Schritt drei - Root-Berechtigungen]] == Schritt drei - Root-Berechtigungen

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 erneut als Root-Konto anmelden müssen, können wir für unser normales Konto sogenannte "Super-User" - oder Root-Berechtigungen einrichten. Auf diese Weise kann unser normaler Benutzer Befehle mit Administratorrechten ausführen, indem vor jedem Befehl das Wortsudo eingefügt wird.

Um diese Berechtigungen unserem neuen Benutzer hinzuzufügen, müssen wir den neuen Benutzer der Gruppe "wheel" hinzufügen. Unter CentOS 7 dürfen Benutzer, die zur Gruppe "Rad" gehören, standardmäßig den Befehlsudoverwenden.

Führen Sie diesen Befehl alsroot aus, um Ihren neuen Benutzer zur Gruppewheel hinzuzufügen (ersetzen Sie das markierte Wort durch Ihren neuen Benutzer):

gpasswd -a demo wheel

Jetzt kann Ihr Benutzer Befehle mit Superuser-Rechten ausführen! Weitere Informationen dazu finden Sie unterour sudoers tutorial.

[[Schritt 4 - Hinzufügen der Authentifizierung mit öffentlichem Schlüssel empfohlen]] == Schritt 4 - Hinzufügen der Authentifizierung mit öffentlichem Schlüssel (empfohlen)

Der nächste Schritt zum Sichern Ihres Servers besteht darin, die Authentifizierung mit öffentlichem Schlüssel für Ihren neuen Benutzer einzurichten. Das Einrichten dieser Option erhöht die Sicherheit Ihres Servers, indem ein privater SSH-Schlüssel für die Anmeldung erforderlich ist.

Generieren Sie ein Schlüsselpaar

Wenn Sie noch kein SSH-Schlüsselpaar haben, das aus einem öffentlichen und einem privaten Schlüssel besteht, müssen Sie eines generieren. Wenn Sie bereits einen Schlüssel haben, den Sie verwenden möchten, fahren Sie mit dem SchrittCopy the Public Keyfort.

Geben Sie zum Generieren eines neuen Schlüsselpaars den folgenden Befehl am Terminal Ihreslocal machine ein:

ssh-keygen

Angenommen, Ihr lokaler Benutzer heißt "localuser" (lokaler Benutzer), sehen Sie eine Ausgabe, die wie folgt aussieht:

ssh-keygen outputGenerating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):

Drücken Sie die Eingabetaste, um diesen Dateinamen und Pfad zu akzeptieren (oder geben Sie einen neuen Namen ein).

Als nächstes werden Sie aufgefordert, eine Passphrase einzugeben, mit der Sie den Schlüssel sichern können. Sie können entweder eine Passphrase eingeben oder die Passphrase leer lassen.

Note: Wenn Sie die Passphrase leer lassen, können Sie den privaten Schlüssel zur Authentifizierung verwenden, ohne eine Passphrase einzugeben. Wenn Sie eine Passphrase eingeben, benötigen Sie sowohl den privaten Schlüsselandals auch die Passphrase, um sich anzumelden. Das Sichern Ihrer Schlüssel mit Passwörtern ist sicherer, aber beide Methoden haben ihre Verwendungsmöglichkeiten und sind sicherer als die grundlegende Kennwortauthentifizierung.

Dies generiert einen privaten Schlüssel,id_rsa, und einen öffentlichen Schlüssel,id_rsa.pub, im Verzeichnis.ssh des Ausgangsverzeichnisses vonlocaluser. Denken Sie daran, dass der private Schlüssel nicht an Personen weitergegeben werden sollte, die keinen Zugriff auf Ihre Server haben sollten!

Kopieren Sie den öffentlichen Schlüssel

Nachdem Sie ein SSH-Schlüsselpaar generiert haben, möchten Sie Ihren öffentlichen Schlüssel auf Ihren neuen Server kopieren. Wir werden zwei einfache Wege beschreiben, um dies zu tun.

[.Hinweis]##

Note: Die Methodessh-copy-id funktioniert unter DigitalOcean nicht, wenn bei der Erstellung von Droplets ein SSH-Schlüssel ausgewählt wurde. Dies liegt daran, dass DigitalOcean die Kennwortauthentifizierung deaktiviert, wenn ein SSH-Schlüssel vorhanden ist, undssh-copy-id zum Kopieren des Schlüssels auf die Kennwortauthentifizierung angewiesen ist.

Wenn Sie DigitalOcean verwenden und während der Droplet-Erstellung einen SSH-Schlüssel ausgewählt haben, verwenden Sie stattdessenoption 2.

Option 1: Verwenden Sie ssh-copy-id

Wenn auf Ihrem lokalen Computer das Skriptssh-copy-idinstalliert ist, können Sie damit Ihren öffentlichen Schlüssel für jeden Benutzer installieren, für den Sie Anmeldeinformationen haben.

Führen Sie das Skriptssh-copy-idaus, indem Sie den Benutzer und die IP-Adresse des Servers angeben, auf dem Sie den Schlüssel installieren möchten, wie folgt:

ssh-copy-id demo@SERVER_IP_ADDRESS

Nachdem Sie an der Eingabeaufforderung Ihr Kennwort eingegeben haben, wird Ihr öffentlicher Schlüssel zur.ssh/authorized_keys-Datei des Remotebenutzers hinzugefügt. Der entsprechende private Schlüssel kann nun zur Anmeldung am Server verwendet werden.

Option 2: Installieren Sie den Schlüssel manuell

Angenommen, Sie haben im vorherigen Schritt ein SSH-Schlüsselpaar generiert, verwenden Sie den folgenden Befehlat the terminal of your local machine, um Ihren öffentlichen Schlüssel (id_rsa.pub) zu drucken:

cat ~/.ssh/id_rsa.pub

Daraufhin sollte Ihr öffentlicher SSH-Schlüssel gedruckt werden, der ungefähr wie folgt aussehen sollte:

id_rsa.pub contentsssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf [email protected]

Wählen Sie den öffentlichen Schlüssel aus und kopieren Sie ihn in Ihre Zwischenablage.

Hinzufügen eines öffentlichen Schlüssels zu einem neuen Remote-Benutzer

Um die Verwendung des SSH-Schlüssels zur Authentifizierung als neuer Remote-Benutzer zu aktivieren, müssen Sie den öffentlichen Schlüssel einer speziellen Datei im Basisverzeichnis des Benutzers hinzufügen.

On the server geben als Benutzer vonroot den folgenden Befehl ein, um zum neuen Benutzer zu wechseln (ersetzen Sie Ihren eigenen Benutzernamen):

su - demo

Nun befinden Sie sich im Home-Verzeichnis Ihres neuen Benutzers.

Erstellen Sie ein neues Verzeichnis mit dem Namen.ssh und beschränken Sie seine Berechtigungen mit den folgenden Befehlen:

mkdir .ssh
chmod 700 .ssh

Öffnen Sie nun eine Datei in.ssh mit dem Namenauthorized_keys mit einem Texteditor. Wir werdenvi verwenden, um die Datei zu bearbeiten:

vi .ssh/authorized_keys

Rufen Sie den Einfügemodus auf, indem Siei drücken, und geben Sie dann Ihren öffentlichen Schlüssel (der sich in Ihrer Zwischenablage befinden sollte) ein, indem Sie ihn in den Editor einfügen. Drücken Sie nunESC, um den Einfügemodus zu verlassen.

Geben Sie:x und dannENTER ein, um die Datei zu speichern und zu beenden.

Beschränken Sie nun die Berechtigungen derauthorized_keys-Datei mit diesem Befehl:

chmod 600 .ssh/authorized_keys

Geben Sie diesen Befehlonce ein, um zum Benutzerrootzurückzukehren:

exit

Jetzt können Sie sich mit SSH als neuer Benutzer anmelden und den privaten Schlüssel als Authentifizierung verwenden.

Weitere Informationen zur Funktionsweise der Schlüsselauthentifizierung finden Sie in diesem Lernprogramm:How To Configure SSH Key-Based Authentication on a Linux Server.

[[Schritt 5 - Konfigurieren des SSH-Dämons]] == Schritt 5 - Konfigurieren des SSH-Dämons

Nachdem wir unser neues Konto haben, können wir unseren Server ein wenig sichern, indem wir seine SSH-Daemon-Konfiguration (das Programm, mit dem wir uns remote anmelden können) ändern, um den Remote-SSH-Zugriff auf das Konto vonrootzu verbieten.

Öffnen Sie zunächst die Konfigurationsdatei mit Ihrem Texteditor als root:

vi /etc/ssh/sshd_config

Hier haben wir die Möglichkeit, die Root-Anmeldung über SSH zu deaktivieren. Dies ist im Allgemeinen eine sicherere Einstellung, da wir jetzt über unser normales Benutzerkonto auf unseren Server zugreifen und die Berechtigungen bei Bedarf erweitern können.

Um Remote-Root-Anmeldungen zu deaktivieren, müssen wir die folgende Zeile finden:

/etc/ssh/sshd_config (before)

#PermitRootLogin yes

Tipp: Um nach dieser Zeile zu suchen, geben Sie/PermitRoot ein und drücken Sie dannENTER. Dies sollte den Cursor auf das Zeichen "P" in dieser Zeile bringen.

Kommentieren Sie die Zeile aus, indem Sie das Symbol "#" löschen (drücken SieShift-x).

Bewegen Sie nun den Cursor durch Drücken vonc auf „Ja“.

Ersetzen Sie nun "Ja", indem Siecw drücken und dann "Nein" eingeben. Drücken SieEscape, wenn Sie mit der Bearbeitung fertig sind. Es sollte so aussehen:

/etc/ssh/sshd_config (after)

PermitRootLogin no

Das Deaktivieren der Remote-Root-Anmeldung wird auf jedem Server dringend empfohlen!

Geben Sie:x und dannENTER ein, um die Datei zu speichern und zu beenden.

Laden Sie SSH neu

Nachdem wir unsere Änderungen vorgenommen haben, müssen wir den SSH-Dienst neu starten, damit er unsere neue Konfiguration verwendet.

Geben Sie dies ein, um SSH neu zu starten:

systemctl reload sshd

Bevor wir uns vom Server abmelden, sollten wirtestunsere neue Konfiguration verwenden. Wir möchten die Verbindung erst trennen, wenn wir bestätigen können, dass neue Verbindungen erfolgreich hergestellt werden können.

Öffnen Sie das Terminalfenster vonnew. Im neuen Fenster müssen wir eine neue Verbindung zu unserem Server herstellen. Dieses Mal möchten wir anstelle des Root-Kontos das neu erstellte Konto verwenden.

Stellen Sie für den oben konfigurierten Server mit diesem Befehl eine Verbindung her. Ersetzen Sie Ihre eigenen Informationen, wo es angebracht ist:

ssh demo@SERVER_IP_ADDRESS

Note: Wenn Sie PuTTY verwenden, um eine Verbindung zu Ihren Servern herzustellen, müssen Sie dieport-Nummer der Sitzung entsprechend der aktuellen Konfiguration Ihres Servers aktualisieren.

Sie werden aufgefordert, das von Ihnen konfigurierte Kennwort des neuen Benutzers einzugeben. Danach werden Sie als Ihr neuer Benutzer angemeldet.

Denken Sie daran, wenn Sie einen Befehl mit Root-Rechten ausführen müssen, geben Sie "sudo" wie folgt ein:

sudo command_to_run

Wenn alles in Ordnung ist, können Sie Ihre Sitzungen beenden, indem Sie Folgendes eingeben:

exit

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.

Wenn Sie nicht sicher sind, was Sie mit Ihrem Server tun möchten, lesen Sie das nächste Tutorial in dieser Reihe fürAdditional Recommended Steps for New CentOS 7 Servers. Es behandelt Dinge wie das Aktivieren vonfail2ban, um die Effektivität von Brute-Force-Angriffen, grundlegenden Firewall-Einstellungen, NTP und Auslagerungsdateien zu verringern. Es enthält auch Links zu Tutorials, die Ihnen zeigen, wie Sie gängige Webanwendungen einrichten.

Wenn Sie nur etwas erkunden möchten, schauen Sie sich den Rest unserercommunityan, um weitere Tutorials zu finden. Einige beliebte Ideen sind das Konfigurieren vonLAMP stack oderLEMP stack, wodurch Sie mit
Websites hosten können.