Root-Server – ich bin drin!

Die Rückseite eines Serverracks

Die Rückseite eines Serverracks

In diesem ersten Beitrag gehe ich davon aus, dass Sie einen Root-Server angemietet haben und im Besitz der Zugangsdaten sind. Ausserdem gehe ich davon aus, dass sich auf Ihrem Root-Server das Open-Source Betriebssystem Linux befindet. Bevor wir zur Installation und Nutzung von zusätzlichen Programmen kommen, gebe ich Ihnen ein paar Informationen zu Linux und der Art undWeise, wie Sie mit Ihrem Root-Server Kontakt aufnehmen. Linux gilt als stabil, einfach zu warten und je nach Quelle und Zählweise hat Linux im Serverbereich einen Marktanteil von 30% bis 60%.

Linux besteht aus vier Teilen:

  1. der Kernel stellt eine einheitliche Schnittstelle zur Hardware dar. Programme, die über diese Schnittstelle die Linux Funktionen ansprechen, müssen die Hardware Ihres Root-Servers nicht kennen.
  2. zusätzliche Programme können über den Kernel auf Dateien and andere Ressourcen zugreifen. Es gibt tausende von Programmen für nahezu jeden Anwendungszweck.
  3. die Shell ist die textbasierte Benutzerschnittstelle. Der Benutzer gibt dort Befehle ein und das System führt sie aus.
  4. X ist die grafische Benutzerschnittstelle mit Fenstern und Mauszeiger. Auf einem Root-Server ist sie normalerweise nicht installiert.

Da keines der einzelnen Teile alleinstehend funktioniert, werden Installationspakete zu sogenannten Distributionen zusammengestellt. Es gibt zahlreiche Distributionen für jeden nur denkbaren Anwendungszweck. Viele Hosting Provider bieten die Möglichkeit eine Distribution Ihrer Wahl zu installieren. In unseren Beispielen hier im Blog gehen wir davon aus, dass Sie Ubuntu benutzen.

Root-Server mieten

Wenn Sie einen Root-Server mieten, so benötigen Sie theoretisch genau zwei Dinge um anzufangen:

  1. Die IP-Adresse des Servers
  2. Das root Passwort

Stellen Sie sich das wie bei einer Wohnung vor. Sie benötigen eine Adresse und den Schlüssel. Die IP-Adresse ist die Adresse und das root Password Ihr Schlüssel. Im Gegenzug überweisen Sie dem Vermieter eine monatliche Miete. Ein Hosting Provider stellt Ihnen meistens noch viel mehr zur Verfügung, beispielsweise eine webbasierte Administrationsoberfläche, zusätzlichen Speicher, die Möglichkeit Domainnamen zu mieten und auf Ihren Server zeigen zu lassen, physikalisch vom Server getrennten Backup Space, SSL Zertifikate, zusätzliche IP-Adressen, etc. Je nach Wunsch können Sie diese Zusatzangebote nutzen. Sie können aber auch unterschiedliche Services von unterschiedlchen Anbieter kombinieren.

Kontakt mit dem Server aufnehmen

Sie sind jetzt stolzer Besitzer einer IP-Adresse und eines Passworts. Nun wollen Sie Kontakt mit Ihrem Server aufnehmen. Als Endgerät benutzen Sie vermutlich einen PC mit einem Betriebssystem von Microsoft, Apple oder ebenfalls Linux. Auf Ihrem PC nutzen Sie eine grafische Benutzeroberfläche mit Fenstern und Maussteuerung. Um auf Ihren Server zugreifen zu können, benötigen Sie auf Ihrem PC eine Terminalemulation. Terminals sind Endgeräte der Vor-PC-Ära, die vor mehr als 30 Jahren auf vielen Schreibtischen standen. Sie waren eine Art Endgerät für den Zugriff auf zentrale Grossrechner. Und genau das wollen wir haben. Ein Endgerät für einen … nunja … Grossrechner – unseren Root-Server.

Televideo 925 Terminal - 1981
Televideo 925 Terminal – 1981
Ich benutze das Apple Betriebssystem OSX und dort wird die Terminal.app mitgeliefert. (In Windows können Sie Putty benutzen). Wenn ich die Terminal App aufrufe, öffnet sich ein Fenster und ich sehe:

Last login: Wed Aug 20 09:58:19 on ttys000
grunzi:~ hagengraf$

Mein letztes Login war am 20.August um 9:58 Uhr auf ttys000. ttys steht übrigens für teletypewriters (Fernschreiber). Bis heute heissen serielle Schnittstellen in Betriebssystemem tty nach der Firma Teletype, die 1930 den Fernschreiber entwickelte. Die nächste Zeile gibt Auskunft über den Namen meines PC und in welchem Verzeichnis ich mich befinden. Mein PC heisst grunzi und ~hagengraf bedeutet, das ich mich in meinem Home Verzeichnis befinde. Um mich nun mit dem Root-Server zu verbinden, muss ich den Befehl ssh aufrufen. ssh steht für Secure Shell und stellt mit dem entfernten Root-Server eine sichere Verbindung her. Als Benutzername benutze ich nicht root sondern den von NOVATREND aus Sicherheitsgründen angelegten Benutzer novatrend.

grunzi:~ hagengraf$ ssh novatrend@46.232.178.78

Als Antwort bekomme ich folgende Nachricht

The authenticity of host '46.232.178.78 
(46.232.178.78)' can't be established.
RSA key fingerprint is 
18:c6:9a:3f:ef:49:62:69:d2:fe:4a:96:b4:34:d5:ee.
Are you sure you want to continue connecting (yes/no)?

Der Root-Server identifiziert sich mit einem öffentlichen Schlüssel (RSA-Kryptosystem) gegenüber dem Client (unsere Terminal Emulation).

Kleiner Exkurs

Das RSA-Kryptosystem stammt aus dem Jahr 1977 und ist ein asymetrisch kryptographisches Verfahren, bei dem der Root-Server den öffentlichen Schlüssel sendet und unsere Terminal.app einen geheimen Schlüssel erzeugt und optional lokal speichert. Der private Schlüssel wird dabei nicht übertragen. Der Verbindungsaufbau zwischen den beiden wird über kleinere Datenpakete abgewickelt. Die drei Mathematiker, die das Verfahren in den siebziger Jahren entdeckten, gründeten 1986 die Firma RSA Security. RSA Security gehört seit 2006 der EMC Corporations und stand im Dez 2013 in den Schlagzeilen, da sie 10 Millionen US$ für die Errichtung einer Krypto-Backdoor in ihren Produkte entgegenommen hat. Die Backdoor ermöglicht dem amerikanischen Geheimdienst NSA, sich root Rechte auf Servern zu verschaffen, die die Bibliothek BSafe einsetzen. Ubuntu nutzt diese Library nicht. Das SSH Protokoll nutzt das RSA Kryptosystem. Ubuntu wiederum benutzt mit der OpenSSH Library ( die Teile der OpenSSL Library nutzt) eine freie Implementierung beider Protokolle, die auch scheinbar vom Heartbleed-Bug der OpenSSL Library nicht betroffen sind.

Bei der ersten Verbindung kennt unser Terminal den Server noch nicht und fragt nach. Ich antworte mit yes,

Warning: Permanently added '46.232.178.78' (RSA) 
to the list of known hosts.
novatrend@46.232.178.78's password:

Aus Gründen der Bequemlichkeit speichert die Terminal.app den Root-Server in die Liste der bekannten Hosts. Daher die Warnung vor der Nachricht. Nun fragt der Server nach dem Passwort Nach der Eingabe des Passworts schickt der Root-Server eine freundliche Willkommensmeldung und ich bin drin!

Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-32-generic x86_64)
System information as of Wed Aug 20 15:29:01 CEST 2014
System load:  0.0               Processes:           75
 Usage of /:   2.3% of 47.12GB   Users logged in:     0
 Memory usage: 3%                IP address for eth0: 46.232.178.78
 Swap usage:   0%Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
 novatrend@server1:~$

Der Root-Server meldet sich, der Cursor blinkt wie in alten Science Fiction Filmen und nun kann es losgehen. Sie können Befehle eintippen und das gesamte Internet liegt Ihnen gewissermassen zu Füssen.

Abmelden

Um sich abzumelden, geben Sie einfach den Befehl exit ein und sie befinden sich wieder auf der lokalen Konsole Ihrer Terminal Emulation.


tl;dr: Mit einer IP Adresse und dem root password kann man über eine Terminalemulation per SSH Protokoll eine sichere Verbindung zu seinem Root-Server von jedem Endgerät aus aufbauen.

Autor: Hagen Graf

consultant, author, trainer, solution finder, web architect, developer, open source lover, visionary, orator, the good old webmaster. Able to simplify!

Kommentar verfassen