Geekflare wird von unserem Publikum unterstützt. Es kann sein, dass wir durch den Kauf von Links auf dieser Seite Affiliate-Provisionen verdienen.
Unter Sicherheit Zuletzt aktualisiert: September 24, 2023
Weitergeben:
Invicti Web Application Security Scanner - die einzige Lösung, die eine automatische Überprüfung von Schwachstellen mit Proof-Based Scanning™ ermöglicht.

SSH ist ein gesichertes Netzwerkprotokoll für den Zugriff auf entfernte Computer in einem Netzwerk

Computer kommunizieren über Netzwerke miteinander. Daher haben Netzwerkforscher eine Reihe von Regeln für die Kommunikation mit anderen Computern festgelegt und Protokolle wie Telnet entwickelt, mit denen ein Benutzer die Kontrolle über einen anderen Computer übernehmen kann.

Aber sie sind nicht sicher, d.h. jeder in der Mitte des Netzwerks kann die übertragenen Daten abfangen und lesen. Mitte der 90er Jahre wurde ein sichereres Protokoll namens ssh als zuverlässiger Nachfolger des Telnet-Protokolls eingeführt

sichere Schale

Wenn Sie als Softwareentwickler oder Systemadministrator in der Industrie tätig sind, haben Sie vielleicht schon einmal ssh verwendet, zumindest ein einziges Mal. Wenn nicht, sollten Sie es jetzt lernen, denn es gehört zu den unverzichtbaren Grundkenntnissen

Was ist SSH?

SSH oder Sichere Shell oder Sichere Socket Shell ist ein Netzwerkprotokoll, das uns den sicheren Zugriff auf und die Kommunikation mit entfernten Rechnern (meist entfernten Servern) ermöglicht.

Es bietet eine Starke Verschlüsselung und wird häufig von Netzwerkadministratoren und Entwicklern verwendet, um entfernte Systeme und Anwendungen zu verwalten, Befehle auszuführen, Dateien austauschen usw

Notwendigkeit von SSH

SSH wurde 1995 entwickelt, um Sicherheitsprobleme zu lösen, die bei ungesicherten Fernzugriffsprotokollen wie rlogin, rsh und Telnet auftraten

Lassen Sie uns nun über Telnet sprechen, was für Fernschreibnetz steht und 1969 entwickelt wurde. Es handelt sich um ein einfaches Befehlszeilentool, das auf Ihrem Computer läuft, um auf einen entfernten Server (irgendwo auf der Welt) zuzugreifen. Und Befehle senden, die auf diesem Server ausgeführt werden, als ob Sie direkt vor dem entfernten Server sitzen würden (auch wenn dieser meilenweit entfernt ist). Telnet sendet und empfängt Nachrichten im Klartext über ein Netzwerk

Die Befehle, die Sie ausführen würden, könnten Programme ausführen, Verzeichnisse erstellen, Dateien erstellen/löschen/übertragen, Dienste starten/stoppen usw.

Das Problem beim Anschluss eines anderen Rechners an ein Netzwerk ist, dass die zu übertragenden Daten viele Netzwerke durchlaufen. In der Zwischenzeit könnten einige davon unsicher sein und die übertragenen Daten könnten abgefangen und möglicherweise verändert werden, bevor sie den beabsichtigten Zielrechner erreichen.

Verschlüsselte Kommunikation

In der Anfangszeit, als Sicherheit noch nicht so wichtig war, erfolgte die gesamte Kommunikation im Klartext. Daher können die Daten, die über das Internet zwischen Client und Server übertragen werden, leicht abgefangen werden. Und sie können gelesen werden, da die Nachrichten nicht verschlüsselt sind.

Daher sind Klartextprotokolle extrem unsicher und sollten niemals für die Übertragung sensibler Daten wie Kennwörter, Geheimnisse usw. verwendet werden. Daher wird SSH als sichere Alternative zu herkömmlichen Netzwerkprotokollen für den Fernzugriff angesehen

Wie funktioniert es?

SSH verwendet eine Client-Server-Architektur für die sichere Kommunikation über das Netzwerk, indem ein ssh-Client mit dem ssh-Server verbunden wird. Standardmäßig hört der ssh-Server auf den Standard-TCP-Port 22 (Sie können dies für eine bessere Sicherheit ändern)

Es verwendet eine Public-Key-Verschlüsselungstechnik zur Authentifizierung zwischen Client und Server. Darüber hinaus verwendet das Protokoll Stark symmetrische Verschlüsselungs- und Hash-Algorithmen für den Austausch von Nachrichten zwischen Client und Server, um Datenschutz und Datenintegrität zu gewährleisten

SSH Verschlüsselte Kommunikation

Linux ist das am weitesten verbreitete Betriebssystem für Remote-Server, da es sicher und langlebig ist. Viele Server im Internet, die mit dem Linux-Betriebssystem arbeiten, laufen seit Jahren, ohne dass es zu Ausfällen oder gar einem Neustart gekommen ist

Die meisten SSH-Sitzungen (ein Zeitraum, in dem wir auf den Remote-Server zugreifen) haben nur die folgenden zwei Vorgänge

  • Authentifizierung
  • Ausführung von Befehlen

SSH-Server können Clients mit einer Vielzahl von Methoden authentifizieren

Die beiden beliebtesten Methoden sind

  • Passwortbasiert
  • Schlüssel-basiert

Die kennwortbasierte Authentifizierung ist die Standardmethode für die Authentifizierung von OpenSSH installierten Clients. Es ist die einfachste ssh-Authentifizierung, aber nicht die sicherste

Obwohl die Passwörter sicher an den Server gesendet werden, können moderne Brute-Force-Angriffe die Authentifizierung umgehen

Die schlüsselbasierte Authentifizierung verbessert die Systemsicherheit noch weiter, indem sie SSH-Schlüsselpaare erzeugt, die sich als zuverlässige und sichere Alternative erweisen

Nachdem der Server den Client erfolgreich authentifiziert hat, wird eine sichere Verbindung zwischen den beiden hergestellt.

Zugriff auf einen entfernten Server mit SSH

Wenn Sie ein Mac/Linux-Benutzer sind, können Sie ssh-Befehle direkt über das Terminal eingeben und ausführen, da OpenSSH bereits standardmäßig installiert ist

Wenn Sie ein Windows-Benutzer sind, müssen Sie einen Terminalemulator-Client eines Drittanbieters installieren, um ssh-Befehle auszuführen. PuTTY ist der beliebteste ssh-Client für Windows-Betriebssysteme

Um sich über SSH mit einem entfernten Server zu verbinden, müssen Sie mindestens zwei Dinge wissen

  • Server-Host
  • Nutzername

Die Syntax für den grundlegenden ssh-Befehl lautet

$ ssh <Benutzername> @ <Host> -p <Port-Nr&gt

Der Benutzername ist der Benutzername des entfernten Rechners, mit dem wir uns verbinden wollen (und nicht der Benutzer auf Ihrem lokalen Rechner), und der Gastgeber ist entweder eine IP-Adresse oder ein Domänenname

Sehen wir uns ein Beispiel für die Verbindung zu einem entfernten Server über die Website an OverTheWire an. Das ist eine kostenlose Website für Kriegsspiele

Verbinden wir uns nun mit der Bandit-Herausforderung über ssh. Es handelt sich um eine der verfügbaren Herausforderungen auf der Website, bei der Sie lernen, wie man sich mit SSH anmeldet

Anmeldedaten

benutzername & Passwort: Bandit0
Host & Port: bandit.labs.overthewire.org, 2220

Wenn Sie den folgenden Befehl eingeben und die Eingabetaste drücken

$ ssh bandit0@bandit.labs.overthewire.org -p 2220

Sie werden nach dem Passwort für die Authentifizierung gefragt. Geben Sie nun das Passwort ein und drücken Sie die Eingabetaste

Beispiel für SSH-Anmeldung

Wenn das eingegebene Passwort korrekt ist, sind Sie erfolgreich beim entfernten Server angemeldet und Ihr Terminal sieht aus wie das obige Bild

Nun können Sie das Terminal des entfernten Rechners verwenden, um Ihre Befehle einzugeben und auszuführen und die notwendigen Operationen durchzuführen.

Wenn Sie die ssh-Sitzung beenden möchten, geben Sie den Befehl Ausgang ein

$ exit

SSH-Sitzung beenden

Sie erhalten die Meldung Verbindung geschlossen" , wenn Sie sich erfolgreich von der ssh-Sitzung abmelden

Fazit

Der Hauptgrund für die Beliebtheit von SSH ist, dass die die gesamte Kommunikation zwischen dem Server und dem Client verschlüsselt ist

Die meisten Menschen gehen davon aus, dass die Verwendung von ssh komplex ist und dass es nicht leicht ist, sich Wissen über die Funktionsweise anzueignen, aber es ist einfacher als Sie denken. Jetzt haben Sie ein grundlegendes Verständnis von SSH, wie es funktioniert, welche Sicherheitsaspekte dahinter stehen und warum es eine wichtige Rolle bei der Kommunikation spielt

Als nächstes erkunden Sie einige der Ressourcen, um Sysadmin zu werden.

  • Karthick
    Autor
Dank an unsere Sponsoren
Weitere gute Lektüre zum Thema Sicherheit
Energie für Ihr Unternehmen
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti nutzt das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu überprüfen und innerhalb weniger Stunden verwertbare Ergebnisse zu erzielen.
    Versuchen Sie Invicti
  • Web Scraping, Residential Proxy, Proxy Manager, Web Unlocker, Search Engine Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie Brightdata
  • Monday.com ist ein All-in-One-Betriebssystem, mit dem Sie Projekte, Aufgaben, Arbeit, Vertrieb, CRM, Arbeitsabläufe und vieles mehr verwalten können.
    Versuch Montag
  • Intruder ist ein Online-Schwachstellen-Scanner, der Schwachstellen in Ihrer Infrastruktur aufspürt, um kostspielige Datenschutzverletzungen zu vermeiden.
    Versuchen Sie Intruder