SSH ist eine der Möglichkeiten, Ihren Hosting-Server aus der Ferne zu verwalten. Wir erzählen Ihnen, was es für ein Protokoll ist und wie es verwendet werden kann.
SSH ist ein sicheres Netzwerkübertragungsprotokoll für die Fernsteuerung von Geräten.
Es ermöglicht Ihnen, Befehle an einen anderen Computer oder Server zu senden: z.B. Hochladen oder Löschen von Dateien, Ausführen von Anwendungen und so weiter.
Alle Daten, die von Ihnen an das entfernte Gerät übertragen werden, sind sicher verschlüsselt. SSH schafft eine sichere Verbindung und verhindert, dass Hacker wertvolle Informationen stehlen.
SSH wird für die Fernverwaltung von Hosting-Servern verwendet. Es ermöglicht, von jedem beliebigen Gerät aus eine Verbindung herzustellen und alle erforderlichen Aktionen durchzuführen.
Mit Hilfe von SSH kann man:
Damit eine Verbindung zu einem entfernten Gerät hergestellt werden kann, sind zwei Programme erforderlich: ein SSH-Server und ein SSH-Client.
Der SSH-Server wird auf dem Gerät installiert, mit dem eine Verbindung hergestellt werden soll. Beim Remote-Hosting entscheidet der Provider, welcher SSH-Server verwendet wird. Normalerweise handelt es sich um ein kostenloses Programm — OpenSSH.
Der SSH-Client ist ein Programm auf dem Computer des Benutzers, das eine Verbindung herstellt und Informationen überträgt. Linux und macOS verwenden OpenSSH und haben dies in der Regel bereits integriert. Sie können das entfernte Gerät über ein Terminal anschließen und ansteuern.
Unter Windows ist der Client nicht standardmäßig installiert und es muss eine Anwendung eines Drittanbieters heruntergeladen werden.
Einige gängige SSH-Clients für dieses Betriebssystem sind:
Das am häufigsten verwendete Programm ist PuTTY — es ist kostenlos und recht einfach zu benutzen. Wir empfehlen Ihnen, eben dieses zu installieren, und wir werden es Ihnen in Beispielen zu diesem Artikel anführen.
Vor der Übertragung von Informationen muss eine sichere Verbindung zwischen Absender und Empfänger hergestellt werden. Dies erfolgt in drei Schritten:
1. Herstellen einer TCP-Verbindung. TCP ist ein Datenübertragungsprotokoll. Es gehört zur Transportebene des OSI-Modells. Mit seiner Hilfe werden Informationen von einem Gerät zum anderen übertragen. Dabei gewährleistet es einen sicheren Transport von Paketen und garantiert deren Integrität.
Bevor die Datenübertragung beginnen kann, muss eine sichere Verbindung hergestellt werden. Dies erfolgt auf die folgende Weise:
2. Eröffnung eines sicheren Kanals. Der Empfänger und der Absender müssen sich darauf einigen, wie sie die Daten verschlüsseln und komprimieren werden.
3. Authentifizierung des Benutzers. Sobald ein sicherer Kanal eröffnet wurde, muss der Server überprüfen, wer sich mit diesem Kanal verbunden hat und ob er dazu berechtigt ist.
Ein Benutzer kann auf zwei Arten identifiziert werden:
Etwas später sprechen wir ausführlicher dazu.
SSH hat eine sichere Verbindung aufgebaut. Der Client kann nun Daten übertragen.
Wir haben uns damit auseinandergesetzt, was SSH ist und wie es funktioniert. Wollen wir nun schauen, wie man es in der Praxis einsetzt.
Um eine Verbindung zu einem Server herzustellen, benötigen Sie bestimmte Informationen:
Bei unserem Hosting sind diese Informationen auf Ihrem Benutzerkonto verfügbar.
Wenn Sie eine Verbindung zu einem VDS herstellen müssen, gehen Sie zu „Virtual private servers“ und klicken Sie auf „Instructions“:
Informationen über einen dedizierten Server finden Sie unter „Dedicated servers“ > „Instructions“:
Im ersten Abschnitt — „Server information“ — finden Sie alle erforderlichen Daten:
Wenn Ihr Computer unter Linux oder macOS läuft, gehen Sie ins Terminal.
Geben Sie in dem geöffneten Fenster ein:
ssh username@185.211.200.111
Anstelle von username muss Ihr Benutzername stehen, und anstelle von 185.211.200.111 — die IP-Adresse des Servers, mit dem Sie sich verbinden.
Drücken Sie die Taste Enter.
Wenn das Betriebssystem auf Ihrem Gerät Windows ist, werden Sie einen Client installieren müssen. In unseren Beispielen werden wir PuTTY verwenden.
Starten Sie das Programm, klicken Sie auf Session, und geben Sie die IP-Adresse eines entfernten Geräts in das Feld „Host Name (or IP address)“ ein:
Klicken Sie auf „Open“.
Sobald die Verbindung hergestellt ist, wird das Konsolenfenster geöffnet.
Wenn es das erste Mal ist, dass der Client eine Verbindung zum Server herstellt, wie wir oben schon erwähnt haben, wird er Ihnen einen Fingerabdruck senden:
The authenticity of host ’185.211.200.111 (185.211.200.111)’ can’t be established.
ECDSA key fingerprint is ed:fe:f5:d7:98:fe:85:64:e1:44:11:af:e7:8d:33:de.
Are you sure you want to continue connecting (yes/no)?
Geben Sie yes ein.
Danach werden Sie nach einem Passwort gefragt. Wenn Sie dieses eingegeben haben, wird die Verbindung hergestellt und Sie können das Gerät nun aus der Ferne bedienen.
Ein SSH-Schlüssel ist eine gute Möglichkeit, um zu vermeiden, dass Sie Ihr Passwort jedes Mal eingeben müssen, wenn Sie eine Verbindung herstellen.
Sie benötigen zwei Schlüssel: einen öffentlichen Schlüssel und einen privaten Schlüssel. Der private Schlüssel ist privat und darf unter keinen Umständen an Dritte weitergegeben werden. Der öffentliche Schlüssel kann an jene Person weitergegeben werden, mit der Sie verschlüsselte Daten austauschen.
Es werden zwei Schlüssel benötigt, da SSH eine asymmetrische Verschlüsselung verwendet. Die von Ihnen übermittelten Informationen werden mit einem Schlüssel verschlüsselt, aber nur die Person, die den zweiten Schlüssel hat, kann sie entschlüsseln.
1. Geben Sie im Terminal ein:
ssh-keygen -t rsa
2. Als nächstes müssen Sie angeben, wo die Schlüssel gespeichert werden sollen:
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Geben Sie den Pfad zu dem Ordner an. Oder drücken Sie die Eingabetaste — dies wird dann der Standardspeicherort /.ssh/id_rsa sein.
3. In der nächsten Meldung auf dem Bildschirm werden Sie aufgefordert, eine spezielle Phrase für zusätzliche Sicherheit zu erstellen:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Wenn Sie diese nicht ständig eingeben möchten, drücken Sie einfach die Taste Enter.
4. Die Schlüssel sind fertig:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
ed:fe:f5:d7:98:fe:85:64:e1:44:11:af:e7:8d:33:de user@localhost
The key's randomart image is:
+---[RSA 2048]----+
| |
| |
| .. * O o B .|
| . . + + * S |
| == B o + . .|
| .. B . = . . |
| .. B o = + ..|
| . E.o * . o .|
| oooS +. |
+----[SHA256]-----+
Der private Schlüssel befindet sich in ~/.ssh/id_rsa und der öffentliche Schlüssel in ~/.ssh/id_rsa.pub. Eben dort werden sie gespeichert, wenn Sie im zweiten Schritt nichts angegeben haben werden. Wenn Sie einen anderen Pfad wählen, wird die Nachricht andere Daten enthalten.
Sie müssen den öffentlichen Schlüssel auf den Server hochladen. Wir werden Ihnen später erzählen, wie Sie dies tun können.
Sie benötigen die Anwendung PuTTYgen.
1. Starten Sie diese. Wählen Sie den Schlüsseltyp RSA. Und überprüfen Sie bitte, ob seine Länge 2048 Bit beträgt.
2. Klicken Sie auf „Generate“ und bewegen Sie die Maus willkürlich. Das Programm verwendet die Cursorbewegung, um Zufallsdaten zu erzeugen.
Am oberen Rand des Fensters wird ein öffentlicher Schlüssel angezeigt.
Es ist besser, ihn gleich zu kopieren, damit Sie ihn später auf den Server hochladen können.
3. Sie können den Schlüssel in einem beliebigen Ordner auf dem Gerät speichern, indem Sie auf „Save public key“ und „Save private key“ klicken.
Der Schlüssel für die Verwaltung von VDS wird über das VMmanager-Panel hinzugefügt. Sie können es von Ihrem Benutzerkonto aus aufrufen. Gehen Sie zum Abschnitt „Virtual private servers“ unter der Registerkarte „Client“, wählen Sie den gewünschten Server aus und klicken Sie auf „To panel“.
Die Anmeldedaten für das Panel finden Sie in der E-Mail, die wir Ihnen nach der Aktivierung des Servers geschickt haben, und im Abschnitt „Instructions“.
Gehen Sie in VMmanager auf die Registerkarte „SSH keys“ und klicken Sie auf „Add“.
Sie müssen den Schlüsselnamen eingeben (er kann beliebig sein) und den öffentlichen SSH-Schlüssel einfügen.
Klicken Sie auf „OK“. Das war’s! Der SSH-Schlüssel wird automatisch zu allen zukünftigen virtuellen Maschinen hinzugefügt. Allerdings muss man den Schlüssel zu dem bereits erworbenen VDS separat hinzufügen.
Wenn Sie später das Betriebssystem auf dem VDS, zu dem Sie den Schlüssel hinzugefügt haben, neu installieren, bleibt er für das neue Betriebssystem gültig.
Auf dedizierten Servern kann ein SSH-Schlüssel über das DCImanager-Panel hinzugefügt werden. Sie können auch über Ihr Benutzerkonto darauf zugreifen. Gehen Sie auf der Registerkarte „Client“ zu „Virtual private servers“, klicken Sie auf den gewünschten Server und dann auf „To panel“.
Gehen Sie auf die Registerkarte „SSH keys“ und klicken Sie auf „Add“.
Geben Sie einen Namen ein und fügen Sie den öffentlichen SSH-Schlüssel ein.
Klicken Sie auf „OK“. Wie bei VDS wird dieser Schlüssel automatisch zu allen neu zugewiesenen Servern hinzugefügt.
Sie sind mit dem entfernten Gerät verbunden und authentifiziert. Jetzt können Sie die Maschine mit verschiedenen Befehlen von Ihrem Computer aus steuern.
Es gibt eine ganze Reihe dieser Befehle. Sie funktionieren für jeden SSH-Client auf die gleiche Weise.
Wir werden einige der wichtigsten auflisten.
1. ls — zeigt die Namen aller Dateien und Ordner auf dem entfernten Gerät an. Sie wird in Verbindung mit einer Reihe von Befehlen verwendet:
2. cd — zwischen Verzeichnissen wechseln. Geben Sie den Befehl ein, geben Sie den Pfad zu dem Ordner an, und Sie werden in diesem Ordner sein.
3. sudo — erlaubt es Ihnen, jeden Befehl als Administrator auszuführen.
4. mv — benennt Dateien um oder verschiebt sie in Verzeichnisse. Angenommen, wir haben mv name1 name2 eingegeben. Wenn name2 ein bestehendes Verzeichnis ist, wird die Datei name1 dorthin verschoben. Wenn das Verzeichnis name2 nicht besteht, wird name1 in name2 umbenannt.
5. rm — ein Befehl zum Löschen von Dokumenten und Verzeichnissen. Geben Sie danach einen Datei- oder Ordnernamen ein, und die Datei oder der Ordner wird gelöscht.
6. cp — verwendet, wenn man eine Datei oder einen Ordner kopieren will. Wenn Sie cp 1file 2file eingeben, dann wird 1file in die 2file kopiert. Wenn Sie ein Verzeichnis in ein anderes kopieren wollen, geben Sie nach cp -r ein. Die Anzeige sieht dann wie folgt aus:
cp -r 1dir 2dir
Wenn das Verzeichnis 2dir nicht existiert, wird es erstellt.
7. chmod — um die Berechtigungen einer Datei zu ändern. Zuerst geben Sie den Befehl an, dann die Berechtigungen und den Benutzer, dem die Berechtigungen erteilt oder entzogen werden, und schließlich den Pfad zur Datei.
Es gibt drei Arten von Berechtigungen:
Und drei Arten von Nutzern:
Erlaubnis wird durch ein +-Zeichen angezeigt, Verbot durch ein −-Zeichen.
Wir geben zum Beispiel an:
chmod о+r filename
Das bedeutet, dass wir das Lesen der Datei filename jedem außer dem Eigentümer und der Gruppe erlaubt haben.
8. scp — die Übertragung von Dateien von Ihrem Gerät auf den Server. Nach dem Befehl geben Sie den lokalen Dateinamen (oder den Ordnerpfad), den Benutzernamen, die IP-Adresse des Servers und die Adresse des Ordners an, in dem Sie die Datei ablegen möchten.
Die Anzeige sieht dann wie folgt aus:
scp example.txt username@111.222.333.444:/path/to/new/location/
Dies ist nur ein kleiner Teil der grundlegenden SSH-Befehle. Sie reichen für ein grundlegendes Verständnis der Arbeit mit dem Protokoll aus. Aber natürlich reicht diese Liste nicht aus, um SSH in der Praxis einzusetzen.
Hosten Sie Ihre Projekte auf unseren virtuellen und dedizierten Servern und verwalten Sie sie von jedem Ort der Welt aus.