Mein 1&1 cloud server, Teil 1, Basic Server Configuration, ssh

Ich trage mich schon lange mit dem Gedanken einen virtuellen Server mit vollem Root-Zugriff zu mieten. Da ich schon einen Hostingvertrag bei 1&1 habe (shared Host), bietet es sich an auch für dieses Projekt eine Lösung bei 1&1 zu suchen. Ich habe mich für die zweit kleinste zur Zeit angebotene Konfiguration, den Cloud Server M, entschieden. Der erste Monat ist kostenfrei, zum probieren. Der Vertrag ist monatlich kündbar, damit ist das Risiko für eine größere Fehlinvestition gering.

Als Betriebssystem kommt nur Linux in Frage, ich habe Ubuntu 14.04 gewählt. Der Server wird wirklich sehr schnell, innerhalb einer Minute, eingerichtet und man kann im Anschluss über das 1&1 Cloudpanel darauf zugreifen.

Cloudpanel
Cloudpanel für meinen Server

Eine erste Entäuschung kann ich nicht verhehlen, es gibt nur eine IPv4 Adresse, kein IPv6. Das ist eigentlich unverständlich. An IPv6 Adressen herrscht kein Mangel und sie kosten die grossen Provider so gut wie nichts.

Doch beginnen wir jetzt einfach mal mit der Basiskonfiguration des Servers. Die IP-Adresse und das initiale Passwort für den Server findet man im Cloudpanel, siehe oben. Nach dem Einloggen begrüßt uns der Server mit einer Statusmeldung, die eine Reihe an Systeminformationen bereithält.

Das sieht schon einmal gut aus. Als erstes wollen wir nun die public key authentication für unseren ssh Zugriff auf den Server einrichten. Hierzu wäre es interessant zu wissen, welche sshd version installiert ist.

Die Version 6.6p1 ist installiert. Diese Version unterstützt ED25519 keys, welche ich für meine Schlüssel benutzen möchte und moderne Algorithmen. Zunächst passe ich meine ssh client Konfiguration auf meinem lokalen Rechner an, damit möglichst sichere, moderne Verschlüsselungsverfahren genutzt werden. Sehr praxisbezogene, nützliche Informationen hierzu findet man im mozilla wiki auf den folgenden beiden Seiten:

Security/Guidelines/OpenSSH

Security/Guidelines/Key Management

Meine ssh client Konfiguration ~/.ssh/config sieht dann wie folgt aus:

Der HostKey Algorithmus ssh-dss, und die beiden MACs hmac-md5 und hmac-sha1 sind hier nur enthalten, um mit der gleichen Konfiguration zu meinem shared Host account verbinden zu können. Dort hat 1&1 offensichtlich noch sehr alte ssh Server Versionen im Einsatz, die moderne Verfahren noch nicht unterstützen.

Nun erstellen wir eine Schlüsselpaar mit dem in OpenSSH enthaltenen ssh-keygen:

Da ich lokal keinen ssh-agent benutze, verzichte ich hier auf eine Passphrase. Das bedeutet aber, dass der private Schlüssel keinem Unberechtigten in die Hände fallen darf. Derjenige könnte sich damit bei allen mit dem zugehörigen public key konfigurierten Rechnern verbinden.

Anschließend müssen wir noch den öffentlichen Schlüssel, den Inhalt der Datei id_ed25519_test.pub, auf dem Server in ~/.ssh/authorized_keys eintragen. Am bequemsten erfolgt dies mit ssh-copy-id, ebenfalls aus dem OpenSSH Paket. Die IP-Adresse ist durch xxx.xxx.xxx.xxx ersetzt.

Jetzt können wir uns ohne Passwort mit dem folgenden Befehl auf dem Server einloggen:

Voilà, jetzt können wir unseren Server über ssh verwalten ohne ein Passwort eingeben zu müssen. In einem zweiten Schritt wollen wir die Authentifizierung mit einem Passwort über ssh komplett unterbinden. Hierzu müssen wir die Konfiguration des sshd auf unserem Server anpassen.

In der  Datei /etc/ssh/sshd_config finden wir die folgende Zeile:

Diese Zeile ändern wir in:

Anschließend müssen wir dem sshd noch mitteilen, dass er seine Konfiguration neu laden soll. Dies tun wir mit dem folgenden Befehl:

Nun kontrollieren wir noch, ob unsere Änderung die gewünscht Wirkung zeigt. Vor unserer Änderung wurde bei falschem Schlüssel nach dem Passwort gefragt:

Nach unserer Änderung wird der Zugang bei falschem Schlüssel konsequent verwehrt:

Zum Ende diesen ersten Teils, erstelle ich im Cloudpanel noch einen Snapshot unseres Servers. Dazu sollten wir den Server zunächst anhalten.

Server ausschalten
Server ausschalten

Wenn wir hier Ausschalten wählen erscheint ein der folgende Dialog:

Dialog zum Ausschalten
Cloudpanel Dialog zum Ausschalten des Servers

Hier bestätigen wir mit ja und nach ein paar Sekunden erhalten wir eine Rückmeldung, dass der Server ausgeschaltet wurde. Jetzt können wir einen Snapshot erstellen.

Server Snapshot erstellen
Cloudpanel Server Snapshot erstellen

Wenn wir hier Snapshot erstellen wählen erscheint der folgende Dialog:

Snapshot erstellen Dialog
Server Snapshot erstellen Dialog

Wie in diesem Dialog angegeben, wird ein Snapshot nach 3 Tagen wieder gelöscht. Hier bestätigen wir ebenfalls mit ja und nach wenigen Sekunden erhalten wir eine Bestätigung, dass der Snapshot angelegt wurde. Anschließend können wir den Server wieder starten.

Im 2. Teil meiner Artikelreihe werden wir uns mit Backup, Netzwerk und Firewall beschäftigen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.