Was ist SSH?

Was ist SSH?

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.

Was ist SSH?

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.

Funktionen des Protokolls

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:

  • Anwendungen ausführen, Ordnern und Dateien löschen, verschieben, anderer Befehle auf einem entfernten Gerät ausführen;
  • Daten über einen sicheren Kanal übertragen;
  • Dateien für eine schnellere Zustellung komprimieren;
  • Ports umleiten und verschlüsselten Traffic zwischen den Ports verschiedener Computer übertragen.

SSH-Server und SSH-Client

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:

  • PuTTY
  • SecureCRT
  • ShellGuard
  • Axessh
  • ProSSHD

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.

Wie das Protokoll funktioniert

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:

  1. Der Client sendet eine Anfrage auf die Herstellung einer Verbindung — eine Nachricht SYN und die Ordnungsnummer des übertragenen Bytes.
  2. Der Server sendet ebenfalls eine Nachricht SYN als Rückmeldung, bestätigt den Empfang der Daten mit einer ACK-Nachricht und sendet die Nummer des als nächstes zu empfangenden Bytes.
  3. Der Client bestätigt seinerseits, dass er die Information erhalten hat und sendet die Nummer des nächsten zu empfangenden Bytes.
  4. Damit gilt die Verbindung als hergestellt.
Was ist SSH?

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.

  1. Sie teilen sich zunächst gegenseitig die SSH-Versionen und andere Zusatzinformationen mit. Auf diese Weise kann festgestellt werden, ob die Protokolle kompatibel sind, und es können die nächsten Schritte festgelegt werden.
  2. Die Parteien teilen sich dann gegenseitig mit, welche Algorithmen sie unterstützen. Einige dieser Algorithmen werden zur Verschlüsselung von Informationen verwendet, andere zur Komprimierung und wieder andere zur Übertragung von Schlüsseln. Die Technologien sind in der Reihenfolge von am meisten bevorzugt bis am wenigsten bevorzugt geordnet. Beide Seiten vergleichen die empfangenen Daten mit den von ihnen unterstützten Algorithmen und wählen die ersten passenden Optionen aus.
  3. Am Ende erstellt der Server eine eindeutige Zeichenkombination — fingerprint (Fingerabdruck) — und sendet sie an den Client. Wenn die Kommunikation mit diesem Server schon einmal stattgefunden hat, kennt der Client diesen Fingerabdruck — fingerprint — bereits. Die Informationen darüber werden in /home/username/.ssh/known_hosts gespeichert. Und wenn die Verbindung zum ersten Mal hergestellt werden sollte, wird der Client Sie fragen, ob wir diesem Server vertrauen können. Nach Ihrer Bestätigung wird ein Sitzungsschlüssel für die symmetrische Verschlüsselung des Kanals generiert.
Was ist SSH?
Was ist SSH?

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:

  1. Mit Passwort.
  2. Mit SSH-Schlüssel.

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.

Wie ist eine Verbindung zu einem Server über das Protokoll herzustellen

Um eine Verbindung zu einem Server herzustellen, benötigen Sie bestimmte Informationen:

  • IP-Adresse des Rechners;
  • Benutzernamen;
  • Kennwort.

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

Was ist SSH?

Informationen über einen dedizierten Server finden Sie unter „Dedicated servers“ > „Instructions“:

Was ist SSH?

Im ersten Abschnitt — „Server information“ — finden Sie alle erforderlichen Daten:

Was ist SSH?
Was ist SSH?

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:

Was ist SSH?

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.

Zugang mit Schlüssel

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.

Was ist SSH?

Schlüssel unter Linux oder macOS erstellen

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.

Schlüsselerstellung unter Windows

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.

Was ist SSH?

2. Klicken Sie auf „Generate“ und bewegen Sie die Maus willkürlich. Das Programm verwendet die Cursorbewegung, um Zufallsdaten zu erzeugen.

Was ist SSH?

Am oberen Rand des Fensters wird ein öffentlicher Schlüssel angezeigt.

Was ist SSH?

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.

Was ist SSH?

Wie man einen Schlüssel auf den Gcore Server hochlädt

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

Was ist SSH?

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

Was ist SSH?

Sie müssen den Schlüsselnamen eingeben (er kann beliebig sein) und den öffentlichen SSH-Schlüssel einfügen.

Was ist SSH?

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

Was ist SSH?

Gehen Sie auf die Registerkarte „SSH keys“ und klicken Sie auf „Add“.

Was ist SSH?

Geben Sie einen Namen ein und fügen Sie den öffentlichen SSH-Schlüssel ein.

Was ist SSH?

Klicken Sie auf „OK“. Wie bei VDS wird dieser Schlüssel automatisch zu allen neu zugewiesenen Servern hinzugefügt.

Grundlegende Protokollbefehle

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:

  • ls -la — zeigt alle Dateien und Informationen über sie an: Berechtigungen, Name des Eigentümers und Erstellers.
  • ls -lha — zeigt die Größe der einzelnen Dateien in Bytes an.
  • ls -lha | less — seitenmäßige Ansicht von Dokumenten und Ordnern.

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:

  • r — Lesen;
  • w — Schreiben;
  • x — Ausführen.

Und drei Arten von Nutzern:

  • u — Eigentümer der Datei;
  • g — Dateigruppe;
  • o — alle anderen Benutzer.

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.

Zusammenfassung

  1. SSH ist ein sicheres Protokoll für die Übertragung von Daten von und zu Computern über das Internet. Es wird meist für die Fernverwaltung von Servern eines Hosting-Dienstes verwendet.
  2. Mit SSH ist es möglich, verschiedene Befehle auf dem entfernten Gerät auszuführen, Daten sicher zu übermitteln, sie für eine schnelle Übertragung zu komprimieren und so weiter.
  3. Zur Verwendung des Protokolls sind spezielle Anwendungen erforderlich: ein SSH-Server und ein SSH-Client. Erstere wird auf dem Gerät installiert, mit dem die Verbindung hergestellt werden soll, letztere auf Ihrem Computer. Bei Linux- oder macOS-Geräten ist der SSH-Client bereits standardmäßig integriert, aber bei Windows-Geräten müssen Sie eine Anwendung installieren — beispielsweise PuTTY.
  4. Wenn Sie eine Verbindung zu einem Server herstellen, baut SSH zunächst eine sichere Verbindung auf. Sie eröffnet einen sicheren Kanal und identifiziert den Benutzer. Ein Passwort oder ein SSH-Schlüssel kann zu Ihrer Identifizierung verwendet werden.
  5. Wenn Sie nicht bei jeder Verbindung ein Passwort eingeben wollen, können Sie einen SSH-Schlüssel erstellen und ihn auf den Server hochladen.
  6. Wenn die Verbindung zwischen Ihrem Gerät und dem entfernten Rechner hergestellt ist, können Sie verschiedene Befehle in die Konsole eingeben und damit den Server steuern.
  7. Server auf dem Hosting Gcore können mit Hilfe von SSH verwaltet werden.

Hosten Sie Ihre Projekte auf unseren virtuellen und dedizierten Servern und verwalten Sie sie von jedem Ort der Welt aus.

Mehr über Gcore Hosting

Was ist SSH?

Melden Sie sich
für unseren Newsletter an

Erhalten Sie die neuesten Branchentrends, exklusive Einblicke und Gcore-Updates
direkt in Ihren Posteingang.