Erstes Server-Setup mit Ubuntu 16.04

Einführung

Wenn Sie zum ersten Mal einen neuen Ubuntu 16.04-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 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 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@your_server_ip

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

adduser sammy

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 einfachENTER in einem beliebigen Feld drücken, das Sie überspringen möchten.

[[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 sogenannte Superuser- oder Root-Berechtigungen für unser normales Konto 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 "sudo" hinzufügen. Standardmäßig dürfen unter Ubuntu 16.04 Benutzer, die zur Gruppe "sudo" gehören, den Befehlsudoverwenden.

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

usermod -aG sudo sammy

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

Wenn Sie die Sicherheit Ihres Servers erhöhen möchten, befolgen Sie die weiteren Schritte in diesem Lernprogramm.

[[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.

Um ein neues Schlüsselpaar zu generieren, geben Sie den folgenden Befehl am Terminal Ihreslocal machine ein (dh. dein Computer):

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 sammy@your_server_ip

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 Befehl am Terminal Ihrerlocal 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.

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 vorübergehend zum neuen Benutzer zu wechseln (ersetzen Sie Ihren eigenen Benutzernamen):

su - sammy

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 werdennano verwenden, um die Datei zu bearbeiten:

nano ~/.ssh/authorized_keys

Fügen Sie nun Ihren öffentlichen Schlüssel (der sich in Ihrer Zwischenablage befinden sollte) ein, indem Sie ihn in den Editor einfügen.

Drücken SieCTRL-x, um die Datei zu beenden, danny, um die vorgenommenen Änderungen zu speichern, undENTER, um den Dateinamen zu bestätigen.

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 ist Ihr öffentlicher Schlüssel installiert und Sie können sich mit SSH-Schlüsseln als Benutzer anmelden.

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

Als Nächstes zeigen wir Ihnen, wie Sie die Sicherheit Ihres Servers erhöhen, indem Sie die Kennwortauthentifizierung deaktivieren.

[[Schritt 5 - Deaktivieren der Kennwortauthentifizierung empfohlen]] == Schritt 5 - Deaktivieren der Kennwortauthentifizierung (empfohlen)

Da sich Ihr neuer Benutzer jetzt mit SSH-Schlüsseln anmelden kann, können Sie die Sicherheit Ihres Servers erhöhen, indem Sie die Nur-Passwort-Authentifizierung deaktivieren. Dadurch wird der SSH-Zugriff auf Ihren Server nur auf die Authentifizierung mit öffentlichem Schlüssel beschränkt. Die einzige Möglichkeit, sich an Ihrem Server anzumelden (abgesehen von der Konsole), besteht darin, den privaten Schlüssel zu besitzen, der mit dem installierten öffentlichen Schlüssel gekoppelt ist.

[.note] #Note: Deaktivieren Sie die Kennwortauthentifizierung nur, wenn Sie Ihrem Benutzer einen öffentlichen Schlüssel installiert haben, wie im vorherigen Abschnitt, Schritt 4 empfohlen. Andernfalls sperren Sie sich von Ihrem Server aus!
#

Gehen Sie folgendermaßen vor, um die Kennwortauthentifizierung auf Ihrem Server zu deaktivieren.

Öffnen Sie alsroot oderyour new sudo user die SSH-Daemon-Konfiguration:

sudo nano /etc/ssh/sshd_config

Suchen Sie die Zeile, diePasswordAuthentication angibt, kommentieren Sie sie aus, indem Sie die vorhergehenden# löschen, und ändern Sie ihren Wert in "no". Es sollte so aussehen, nachdem Sie die Änderung vorgenommen haben:

sshd_config - Deaktiviert die Kennwortauthentifizierung

PasswordAuthentication no

Im Folgenden sind zwei weitere Einstellungen aufgeführt, die für die Nur-Schlüssel-Authentifizierung wichtig sind und standardmäßig festgelegt werden. Wenn Sie diese Datei noch nicht geändert haben, müssen Siedo notfolgende Einstellungen ändern:

sshd_config - Wichtige Standardeinstellungen

PubkeyAuthentication yes
ChallengeResponseAuthentication no

Wenn Sie mit den Änderungen fertig sind, speichern und schließen Sie die Datei mit der zuvor beschriebenen Methode (CTRL-X, dannY, dannENTER).

Geben Sie dies ein, um den SSH-Daemon neu zu laden:

sudo systemctl reload sshd

Die Kennwortauthentifizierung ist jetzt deaktiviert. Auf Ihren Server kann jetzt nur mit SSH-Schlüsselauthentifizierung zugegriffen werden.

[[Schritt 6 - Test-Login]] == Schritt 6 - Test Login

Bevor Sie sich jetzt vom Server abmelden, sollten Sie Ihre neue Konfiguration testen. Trennen Sie die Verbindung erst, wenn Sie bestätigen, dass Sie sich erfolgreich über SSH anmelden können.

Melden Sie sich in einem neuen Terminal auf Ihremlocal machine mit dem von uns erstellten neuen Konto bei Ihrem Server an. Verwenden Sie dazu diesen Befehl (ersetzen Sie Ihren Benutzernamen und Ihre Server-IP-Adresse):

ssh sammy@your_server_ip

Wenn Sie Ihrem Benutzer eine Authentifizierung mit öffentlichem Schlüssel hinzugefügt haben, wie in den Schritten vier und fünf beschrieben, wird Ihr privater Schlüssel als Authentifizierung verwendet. Andernfalls werden Sie aufgefordert, das Kennwort Ihres Benutzers einzugeben.

[.note] #Note about key authentication: Wenn Sie Ihr Schlüsselpaar mit einer Passphrase erstellt haben, werden Sie aufgefordert, die Passphrase für Ihren Schlüssel einzugeben. Andernfalls sollten Sie, wenn Ihr Schlüsselpaar ohne Passphrase ist, ohne Kennwort bei Ihrem Server angemeldet sein.
#

Sobald die Authentifizierung für den Server bereitgestellt wurde, werden Sie als 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

[[Schritt sieben - Einrichten einer Basis-Firewall]] == Schritt Sieben - Einrichten einer Basis-Firewall

Ubuntu 16.04-Server können die UFW-Firewall verwenden, um sicherzustellen, dass nur Verbindungen zu bestimmten Diensten zulässig sind. Mit dieser Anwendung können wir sehr einfach eine Basis-Firewall einrichten.

Verschiedene Anwendungen können ihre Profile bei der Installation bei UFW registrieren. Mit diesen Profilen kann UFW diese Anwendungen nach Namen verwalten. OpenSSH, der Dienst, mit dem wir uns jetzt mit unserem Server verbinden können, verfügt über ein bei UFW registriertes Profil.

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

sudo 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:

sudo ufw allow OpenSSH

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

sudo ufw enable

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

sudo ufw status
OutputStatus: active

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

Wenn Sie zusätzliche Dienste installieren und konfigurieren, müssen Sie die Firewall-Einstellungen anpassen, um akzeptablen Datenverkehr zuzulassen. Sie können einige gängige UFW-Operationen inthis guide lernen.

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.