Kategorien
Infrastruktur Shared Hosting

Arbeiten mit der Kommandozeile auf deinem Webhosting

Die Administration deines Novatrend Webhostings erfolgt zumeist über das Tool cPanel. cPanel ist eine Anwendung im Browser und bietet umfassende Konfigurationsmöglichkeiten in einfach verständlichen Dialogen und Formularen. Wenn man grundsätzlich weiss, was man will, ist cPanel ein sehr komfortabler Weg um beispielsweise Datenbanken einzurichten, Dateien zu organisieren und editieren, E-Mail-Adressen zu verwalten und vieles andere mehr.

In den letzten Jahren bieten immer mehr Software-Projekte, beispielsweise WordPress, sogenannte CLI-Befehle für administrative Aufgaben innerhalb dieser Software. Mit CLI Befehlen lassen sich Erweiterungen installieren, Benutzer verwalten und vieles andere mehr. Die Abkürzung CLI steht für Command Line Interface (Terminal, Kommandozeile). Die cPanel Software ist unter anderem auch deshalb entstanden, weil vielen Benutzer:innen das Arbeiten auf der Kommandozeile zu aufwendig und vor allem zu gefährlich erschien. Um die Arbeit mit der Kommandozeile möglichst einfach, sicher und komfortabel zu gestalten, bietet cPanel Hilfestellungen.

Kategorien
Content Management Systeme Infrastruktur Services Shared Hosting Tools

Terminal – bei uns ganz einfach

Bei allem, was mit Computern, Software und Digitalisierung zu tun hat, teilt sich die Welt oft in zwei Gruppen. Da sind auf der einen Seite Personen, die in einer grafisch orientierten Welt Text- und andere Felder ausfüllen, mit Maus, Gesten oder Touch-Befehlen Bereiche auswählen und dann auf Buttons klicken. Auf der anderen Seite gibt es die Gruppe der Personen, die auf einer Kommandozeile jeden Befehl auf einer Tastatur eintippen. Für beide Arbeitsweisen gibt es gute Argumente, je nachdem, welche Aufgabe man erledigen will. Ein einzelnes Bild lässt sich gut in einem Grafikprogramm mit einer Maus bearbeiten. Wenn es um hunderte Bilder geht, bei denen beispielsweise die Kompressionsrate oder die Grösse verändert werden soll, so ist man mit einem Befehl auf der Kommandozeile natürlich viel effektiver. In diesen beiden Gruppen befinden sich viele Personen, die einfach “effektiv arbeiten” wollen.

Kategorien
seafolly.ch Server Shared Hosting Verschlüsselung Webdesign Webserver

Die Kommandozeile ist nicht totzukriegen :)

Wer sein Webhosting aus der Ferne verwaltet, benutzt normalerweise eine grafische Benutzeroberfläche. Die reibungslose Funktion und die einfache Bedienbarkeit dieser grafischen Benutzeroberflächen ist eine echte Herausforderung, schließlich ist es so eine Art „Fernbedienung“ für den Server. Im Jahre 2018 funktionieren Tools wie cPanel allerdings wirklich gut.

In der Webentwicklung ist die Kommandozeile in den letzten Jahren allerdings wieder in Mode gekommen. Entwickler, Administratoren und Site Builder können Wartungs- und Entwicklungsaufgaben damit vereinfachen (wenn sie wissen, was sie tun 🙂 ). Auch bei Content Management Systemen wie WordPress (WP-CLI) und Drupal (Drush) wird die Kommandozeile immer beliebter.

Um mit dem Server deines Webhostings Kontakt aufzunehmen, benötigst du ein Kommandozeilen Programm. Kommandozeilen Programme gibt es für alle Betriebssystem Plattformen. Windows Benutzer nehmen meist PuTTY, Mac und Linux Benutzer haben das Terminal oder Shell Programm bereits im Betriebssystem enthalten. Für Android und iOS gibt es ebenfalls zahlreiche Terminal Apps. Der große Vorteil der Kommunikation via Shell sind die Sicherheit und die geringen Datenmengen, die übertragen werden müssen. Eine Verbindung per SSH funktioniert „immer“, zur Not auch auf einem Telefon mit schlechter Internet Anbindung.

Verbindung aufbauen

Das Kommandozeilen Programm besteht aus einem schwarzen Fenster mit einem Eingabebereich. Alle Befehle, die hier eingegeben werden, werden auf dem lokalen System ausgeführt. Um ein Webhosting bei uns zu erreichen musst du den ssh Befehl nutzen. Als Parameter übergibst du den Benutzernamen und den Host.

ssh [Benutzername]@[host]

In meinem Fall ist das ssh seafoll1@ftp.seafolly.ch. Benutzername und Host sind die gleichen, wie bei deinem FTP Zugriff.
Der Server fragt nach deinem Passwort.
Es ist ebenfalls das gleiche wie dein FTP Passwort.

Terminal OSX
Terminal OSX

Nach der Eingabe des Passworts verwandelt sich der Prompt der lokalen Kommandozeile (hagengraf: hagengraf$) in den Prompt des Webhosting Servers (seafoll1@srv11 [~]# ). Alle Befehle, die du nun absendest, werden von dem Server ausgeführt auf dem sich dein Webhosting befindet. Die Verbindung ist sicher und schnell. Übertragen wird nur dein Befehl und die Antwort des Servers. Das sind erheblich weniger Daten als bei einer grafischen Benutzeroberfläche.

Mit Schlüssel verbinden (empfohlen)

Anstelle der Verbindung mit einem Passwort gibt es auch die Verbindung mit einem Schlüsselpaar. Der eine Schlüssel ist öffentlich und liegt auf dem Server. Der andere Schlüssel ist privat und liegt auf dem lokalen Gerät. Wenn du beispielsweise jemandem Zugriff auf die Kommandozeile geben möchtest, aber nicht das dazugehörige Passwort, so kannst du einen Schlüssel erzeugen, aktivieren und an die berechtigte Person weitergeben. Der Nutzer mit Schlüssel kann sich dann ohne Passwort mit dem Server verbinden. Du kannst beliebig viele Schlüssel erzeugen, sowie existierende Schlüssel autorisieren und wieder sperren.

Wenn ich mich über die lokale Kommandozeile mit dem Webhosting verbinden möchte, gebe ich einfach ein …

ssh seafolly_ch

… bestätige mit Enter und bin „drin“.

Schlüssel erzeugen und aktivieren

Um einen Schlüssel zu erzeugen, öffnest du cPanel und suchst nach ssh.

cPanel SSH-Zugriff
cPanel SSH-Zugriff

In der folgenden Seite wird ein ausführlicher Erläuterungstext und der Button SSH-Schlüssel verwalten angezeigt. Nach einem Klick auf den Button gelangst du zur Übersicht. In meinem Fall steht da schon ein Schlüssel, den ich benutze, mit dem Namen seafolly_ch.

SSH-Schlüssel - Übersicht
SSH-Schlüssel – Übersicht

Achtung: Der private Schlüssel sollte aus Sicherheitsgründen nach der lokalen Konfiguration vom Server gelöscht werden.

Du kannst nun Schlüssel erzeugen oder existierende Schlüssel importieren. Um ein Schlüsselpaar zu erzeugen, klicke auf Neuen Schlüssel erzeugen. Ich nenne ihn seafollybeispiel. Dieser Name ist beliebig wählbar. Dann vergebe ich das Schlüsselkennwort (Pass Phrase). Als Typ nehme ich RSA und die größte Schlüsselgröße.

SSH-Schluesselpaar - erzeugen
SSH-Schluesselpaar – erzeugen

Die Schlüssel werden erzeugt und liegen als Datei im Verzeichnis .ssh auf dem Server. Auf dieses Verzeichnis kannst du auch per FTP zugreifen.

SSH-Schlüsselpaar erfolgreich erzeugt
SSH-Schlüsselpaar erfolgreich erzeugt

Die Schlüssel sind erzeugt aber noch nicht autorisiert. Durch einen Klick auf den zurück Link gelangst du wieder in die Übersicht. Dort ist nun ein neuer Schlüssel verfügbar, der noch nicht autorisiert worden ist.

Schluessel nicht autorisiert
Schluessel nicht autorisiert

Über den Link Verwalten kannst du den öffentlichen Schlüssel autorisieren.

Schlüssel autorisieren
Schlüssel autorisieren

Lokale Umgebung konfigurieren

Der private Schlüssel muss nun auf dem lokalen Gerät an der richtigen Stelle installiert werden (bei macOS ist das im Ordner .ssh im entsprechenden Benutzerverzeichnis). Du kannst den privaten Schlüssel als Datei herunterladen oder per Copy & Paste in eine lokal erzeugte Datei kopieren.

cPanel - Anzeige privater Schlüssel
cPanel – Anzeige privater Schlüssel

Wenn die Datei ebenfalls seafollybeispiel heißt, müssen in der SSH Konfigurationsdatei config

nano ~/.ssh/config

die folgenden Werte eingegeben werden:

Host seafollybeispiel
User seafoll1
Port 22
HostName ftp.seafolly.ch
IdentityFile ~/.ssh/seafollybeispiel

Außerdem darf die Datei nicht zu viele Zugriffsrechte haben, ansonsten führt der Verbindungsaufbau zur Fehlermeldung:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/hagengraf/.ssh/seafollybeispiel' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.

Der Befehl

chmod 0400 seafollybeispiel

löst das Problem.

Nun kannst du dich mit dem Befehl

ssh seafollybeispiel

ohne ein Passwort anmelden und die Kommandozeile des Servers nutzen.

Hinweis: Die lokale Installation ist

Links


tl;dr: Du kannst dich ohne Passwort per SSH an der Kommandozeile deines Webhostings anmelden

Kategorien
seafolly.ch Shared Hosting

Dateiverwaltung im Webhosting Paket – seafolly.ch zieht um

Nachdem wir ein Webhosting Paket für seafolly.ch eingerichtet haben (Ein Webhosting Paket für das #kunstprojekt), will ich Ihnen in diesem Artikel eine Übersicht über die ersten Schritte auf dem Weg zur Website geben. In der Bestätigungsmail bei der Bestellung erhalten alle Kunden auch einen Link zu den NOVATREND FAQ (NOVATREND FAQ Erste Schritte). Erster Tipp daher: Lesen Sie diesen Teil der FAQ 🙂

Im Falle von seafolly.ch gibt es bereits eine Website, die ich vor ein paar Wochen auf einem anderen Server erstellt habe (Yellow ist für Menschen die Websites machen) und die ich nun gern auf den neuen Webspace übertragen möchte. Daher sind meine wichtigsten technischen ersten Schritte:

  1. Wie kann ich mein Webhosting Paket administrieren?
  2. Wie lade ich Dateien auf meinen Webspace?

Webhosting administrieren

Im Administrationsbereich Ihres Webhosting Pakets gibt es den Bereich Produkte & Services.

novatrend.ch Produkte & Services
novatrend.ch Produkte & Services

In der Tabelle werden alle bestellten Produkte aufgelistet, in meinem Fall das seafolly.ch Paket. Die Konfiguration des Pakets findet über das Softwarepaket cPanel statt.

cPanel

cPanel ist ein web-basiertes Konfigurationstool (Wikipedia). Da cPanel sehr viele Konfigurationseinstellungen erlaubt, sieht es auf den ersten Blick, nunja, sagen wir mal beeindruckend aus :).
Im oberen Bereich wird die aktive Domäne angezeigt (seafoll1).
Darunter sind vier Tabs angeordnet. Unter Home finden Sie die Verwaltungsoberfläche für die aktive Domäne.

cPanel
cPanel

Wenn Sie sich dort umsehen, finden Sie wirklich alles, was man so braucht um ein PHP/MySQL Webhosting zu verwalten.
Wir können momentan die Standardeinstellungen belassen und uns den Datein zuwenden.

Dateien auf den Server laden

Grundsätzlich haben Sie viele Möglichkeiten, die je nach Situation sinnvoll genutzt werden können.

FTP – File Transfer Protokoll

FTP ist ein Netzwerkprotokoll aus dem Jahr 1985 das auch heute noch sehr verbreitet ist. Genutzt wird es normalerweise über ein Programm wie FileZilla, CoreFTP oder Cyberduck auf Ihrem lokalen Computer. Wenn Sie im cPanel auf den Link FTP-Konten klicken, sehen Sie bereits existierende FTP-Konten und haben die Möglichkeit neue FTP-Konten anzulegen. Die Passworte werden nicht angezeigt. Bei der Bestellbestätigung für Ihr Webhosting Paket haben Sie bereits die Zugangsdaten für den FTP Zugriff erhalten.

cPanel - FTP-Konten
cPanel – FTP-Konten

Ich benutze FileZilla, weil das Programm auf allen Betriebssystemen läuft und Open Source Software ist. Sie können sich die FTP-Konfigurationsdateien aus cPanel herunterladen und in FileZilla importieren. Standardmässig ist das Übertragungsprotokoll so eingestellt, das die Dateien verschlüsselt übertragen werden. Das Passwort muss allerdings bei jeder Verbindung neu eingegeben werden (das kennt cPanel natürlich auch nicht). Sie können das Passwort aber auch dauerhaft in FileZilla speichern. Die Speicherung erfolgt verschlüsselt und ist praktisch, wenn Sie viel mit dem Programm arbeiten. Die Speicherung erfolgt leider nur Base64-kodiert. Das Klartext Passwort ist daher einfach ermittelbar (todo – Blogeintrag über das Thema).

FileZilla
FileZilla

Wenn Sie sich mit dem Server verbunden haben, sehen Sie auf der rechten Seite die Dateien und Verzeichnisse. Das öffentliche Dokumentenverzeichnis ist /public_html. Wenn Sie den symbolischen Link /www anklicken gelangen Sie auch nach /public_html. In dieses Verzeichnis müssen Sie Ihre Dateien kopieren, damit der Browser darauf zugreifen kann.

FileZilla
FileZilla

Umzug der seafolly.ch Website

Die Seafolly.ch Website liegt auf noch auf unserem Testserver. Die Dateien sind nicht lokal bei mir auf dem Computer. Ich könnte die Dateien nun erst zu mir downloaden und dann wieder per FTP hochladen. Ich kann sie allerdings auch gleich vom Testserver, beispielsweise mit dem Midnight Commander (GNU Midnight Commander – der ultimative Dateimanager), direkt auf das Westhosting kopieren. Der Verbindungaufbau erfolgt nach diesem Schema

ftp://[user[:password]@]machine[:port]/[remote-dir]

also in unserem Fall

ftp://seafoll1:password@ftp.seafolly.ch/www
Im Midnight Commander sieht das dann so aus:

FTP Verbindung mit dem Midnight Commander
FTP Verbindung mit dem Midnight Commander

Die Dateien sind in Sekunden übertragen und die Seafolly Website ist wieder da! http://seafolly.ch

seafolly.ch
seafolly.ch

Weitere Möglichkeiten

Ausser der klassischen FTP-Verbindung können Sie sich auch auf andere Arten mit Ihrem Webhosting-Server verbinden und Dateien verwalten.

Secure Shell

Secure Shell (SSH) ist ebenfalls ein Netzwerkprotokoll. Es ist aus dem Jahr 1995 und standardmässig verschlüsselt. Es wird genutzt, um eine entfernte Kommandozeile sichtbar zu machen (Wikipedia).

Zur Verbindung benötigen Sie unter Windows beispielsweise das Programm Putty. Unter Mac OS und Linux genügt das Terminalprogramm

Eine Verbindung stellen Sie her mit dem Befehl

ssh seafoll1@seafolly.ch

Danach werden Sie nach Ihrem Passwort gefragt und sehen dann die Kommandozeile Ihres Servers

seafoll1@srv11 [~]#

Hier können Sie nun die entsprechenden Befehle eingeben, beispielsweise ls -l zur Datei- und Verzeichnisanzeige.

seafoll1@srv11 [~]# ls -l
total 80
drwx--x--x 14 seafoll1 seafoll1 4096 Sep 29 16:44 ./
drwxr-xr-x  3 root     nobody   4096 Sep 29 16:21 ../
-rw-r--r--  1 seafoll1 seafoll1   18 Jul 27 23:45 .bash_logout
-rw-r--r--  1 seafoll1 seafoll1  176 Jul 27 23:45 .bash_profile
-rw-r--r--  1 seafoll1 seafoll1  124 Jul 27 23:45 .bashrc
drwxrwx--x  4 seafoll1 seafoll1 4096 Sep 29 16:21 .cagefs/
drwxr-xr-x  2 seafoll1 seafoll1 4096 Sep 23 15:39 .cl.selector/
-rw-------  1 seafoll1 seafoll1    0 Sep 23 15:39 .contactemail
drwx------  5 seafoll1 seafoll1 4096 Sep 29 13:47 .cpanel/
drwx------  4 seafoll1 seafoll1 4096 Sep 23 15:39 .cphorde/
drwxr-x---  2 seafoll1 nobody   4096 Sep 23 15:39 .htpasswds/
-rw-r--r--  1 seafoll1 seafoll1  171 Aug 13 20:56 .kshrc
-rw-------  1 seafoll1 seafoll1   13 Sep 29 13:10 .lastlogin
drwx------  2 seafoll1 seafoll1 4096 Sep 29 13:10 .trash/
-rw-r--r--  1 seafoll1 seafoll1  658 Jul 28 06:50 .zshrc
lrwxrwxrwx  1 seafoll1 seafoll1   34 Sep 23 15:41 access-logs -> /usr/local/apache/domlogs/seafoll1/
drwxr-x---  2 seafoll1 mail     4096 Sep 29 13:47 etc/
drwxr-x---  8 seafoll1 seafoll1 4096 Sep 29 13:20 mail/
drwxrwxr-x  2 seafoll1 seafoll1 4096 Sep 29 16:44 perl5/
drwxr-x---  3 seafoll1 seafoll1 4096 Sep 23 15:39 public_ftp/
drwxr-x---  7 seafoll1 nobody   4096 Sep 29 16:21 public_html/
drwxr-xr-x  6 seafoll1 seafoll1 4096 Sep 24 14:18 tmp/
lrwxrwxrwx  1 seafoll1 seafoll1   11 Sep 23 15:39 www -> public_html/
seafoll1@srv11 [~]#

Mithilfe des SSH Protokolls können Sie Dateien auf der Kommandozeile kopieren, beispielsweise mit dem Befehl scp (secure copy). Hier ein Beispiel mit einer kleinen Datei.

Testdatei erstellen:

Hagens-MacBook-Air:~ hagengraf$ echo Hallo Welt > hallo.txt

Auf den Server kopieren:

Hagens-MacBook-Air:~ hagengraf$ scp hallo.txt seafoll1@seafolly.ch:www
seafoll1@seafolly.ch's password:
hallo.txt                   100%   11     0.0KB/s   00:00
Hagens-MacBook-Air:~ hagengraf$

Wenn Sie etwas tiefer in die Materie eintauchen, werden Sie anfangen die Kommandozeile zu mögen. Es ist allerdings vermutlich keine Liebe auf den ersten Blick 🙂

Dateiverwaltung via cPanel

cPanel bietet natürlich auch eine Möglichkeit Dateien zu verwalten. Im dritten Tab von cPanel befindet sich die Dateiverwaltung, mit der Sie über einen Browser alle Dateien und Verzeichnisse in einer grafischen HTML Oberfläche umfassend verwalten können. Die Funktionsweise ist selbsterklärend. Der www-Link wird hier nicht angezeigt. Ich nutze die Dateiverwaltung gleich mal um die hallo.txt Datei wieder zu löschen.

cPanel Dateiverwaltung
cPanel Dateiverwaltung

cPanel geht noch einen Schritt weiter und bietet auch Code- und HTML-Editoren zur Bearbeitung der Dateien an. Hier ein Beispiel mit dem Code-Editor.

cPanel Code Editor
cPanel Code Editor

Fazit

seafolly.ch ist erfolgreich umgezogen und Sie kennen nun schon drei verschiedene Arten der Dateiverwaltung bei einem Webhosting Paket.

Falls Ihnen die Sache gefällt, können Sie gern ein Webhosting Paket bestellen 🙂


tl;dr: Viele Wege führen zum Ziel, mindestens drei zu Ihren Dateien im Webhosting Paket

Kategorien
Betriebssysteme Server

Root-Server – ich bin drin!

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.