Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X
X

Wählen Sie Ihre Währung

Türk Lirası $ US Dollar Euro
X
X

Wählen Sie Ihre Währung

Türk Lirası $ US Dollar Euro

Wissensdatenbank

Startseite Wissensdatenbank SSH SSH-Programme: Die besten für siche...

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR

SSH-Programme: Die besten für sichere Remote-Verbindungen

Was ist SSH und warum wird es verwendet?

SSH (Secure Shell) ist ein Netzwerkprotokoll, das eine verschlüsselte Netzwerkverbindung zwischen zwei Geräten herstellt. Im Wesentlichen wird es verwendet, um sicher auf einen Remote-Computer zuzugreifen und ihn zu verwalten. Im Gegensatz zu herkömmlichen Protokollen wie Telnet verschlüsselt SSH die gesamte Kommunikation und stellt so sicher, dass sensible Daten (Passwörter, Befehle, Dateien usw.) sicher über das Netzwerk übertragen werden.

Warum SSH verwenden?

  • Sicherheit: Der wichtigste Grund ist die Verschlüsselung der Daten. Dies verhindert, dass Dritte die Kommunikation abhören und auf sensible Informationen zugreifen.
  • Fernverwaltung: Ideal für die Fernverwaltung von Servern, Netzwerkgeräten und anderen Computern.
  • Dateiübertragung: Unterstützt sichere Dateiübertragungsprotokolle (SFTP) und sicheres Kopieren (SCP).
  • Tunneling: Sie können die Sicherheit erhöhen, indem Sie unsichere Protokolle (z. B. VNC) über einen SSH-Tunnel leiten.
  • Automatisierung: SSH ermöglicht es Ihnen, Prozesse über Skripte und Automatisierungstools zu automatisieren.

Beispiel aus dem echten Leben: Ein Systemadministrator steht außerhalb des Büros vor einem dringenden Problem auf einem Server. Mit SSH kann er sich sicher mit dem Server verbinden und das Problem beheben. Dies bietet eine schnelle und sichere Lösung, ohne dass er physisch zum Server gehen muss.

Fallstudie: Ein E-Commerce-Unternehmen verwendet SSH, um unbefugten Zugriff auf die Server zu verhindern, auf denen Kundendaten gespeichert sind. Alle Serverzugriffe erfolgen über SSH und es werden regelmäßig Sicherheitsüberprüfungen durchgeführt. Dadurch wird der Schutz sensibler Kundendaten gewährleistet.

Welche SSH-Programme gibt es und welches ist das richtige für mich?

Es gibt viele SSH-Programme auf dem Markt. Die Wahl hängt von Ihrem Betriebssystem, Ihren Bedürfnissen und Ihren Vorlieben ab. Hier sind einige der beliebtesten SSH-Programme:

  • PuTTY (Windows): Vielleicht der beliebteste kostenlose SSH-Client. Er ist bekannt für seine einfache und benutzerfreundliche Oberfläche.
  • OpenSSH (Die meisten Betriebssysteme): Auf Unix-ähnlichen Systemen (Linux, macOS, BSD) ist es normalerweise vorinstalliert. Es ist ein leistungsstarkes und vielseitiges Befehlszeilentool. Es gibt auch einen Port für Windows.
  • MobaXterm (Windows): Ein umfassendes Tool mit erweiterten Funktionen, das einen X-Server, einen SSH-Client und vieles mehr enthält.
  • SecureCRT (Windows, macOS, Linux): Ein kommerzieller SSH-Client. Er bietet erweiterte Funktionen, Anpassungsoptionen und eine leistungsstarke Skriptsprache.
  • Termius (Windows, macOS, Linux, iOS, Android): Ein moderner und plattformübergreifender SSH-Client. Er verfügt über Cloud-Synchronisation und Funktionen für die Zusammenarbeit im Team.

Entscheidungsprozess:

  1. Bestimmen Sie Ihr Betriebssystem: Welches Betriebssystem verwenden Sie? Dies wird Ihnen helfen, Ihre Optionen einzugrenzen.
  2. Bewerten Sie Ihre Bedürfnisse: Werden Sie eine grundlegende SSH-Verbindung herstellen oder benötigen Sie erweiterte Funktionen? (Zum Beispiel X-Weiterleitung, Portweiterleitung, Skripterstellung)
  3. Überprüfen Sie Ihr Budget: Suchen Sie eine kostenlose oder eine kommerzielle Lösung?
  4. Testen Sie Testversionen: Kommerzielle Programme haben oft Testversionen. Indem Sie diese ausprobieren, können Sie entscheiden, welches für Sie besser geeignet ist.

Die folgende Tabelle bietet einen Vergleich einiger beliebter SSH-Programme:

Programm Betriebssystem Lizenz Funktionen Benutzerfreundlichkeit
PuTTY Windows Kostenlos Grundlegendes SSH, Telnet, Rlogin Einfach
OpenSSH Linux, macOS, Windows Kostenlos Erweitertes SSH, SCP, SFTP, Portweiterleitung Mittel (Befehlszeile)
MobaXterm Windows Kostenlos (Persönlich), Kommerziell X-Server, SSH, SFTP, Unterstützung für mehrere Tabs Mittel
SecureCRT Windows, macOS, Linux Kommerziell Erweitertes SSH, Skriptsprache, Anpassungsoptionen Mittel
Termius Windows, macOS, Linux, iOS, Android Kostenlos (Begrenzt), Kommerziell Cloud-Synchronisation, Team-Zusammenarbeit, Portweiterleitung Einfach

Wie man eine SSH-Verbindung herstellt (Schritt für Schritt)

Das Herstellen einer SSH-Verbindung kann je nach verwendetem SSH-Programm variieren, aber die grundlegenden Schritte sind in der Regel die gleichen.

SSH-Verbindung mit PuTTY herstellen (Windows):

  1. PuTTY herunterladen und installieren: Laden Sie die neueste Version von PuTTY von der PuTTY-Website herunter und installieren Sie sie.
  2. PuTTY öffnen: Starten Sie das Programm.
  3. Sitzungseinstellungen konfigurieren:
    • Host Name (or IP address): Geben Sie die IP-Adresse oder den Domainnamen des Servers ein, mit dem Sie sich verbinden möchten.
    • Port: Der Port 22 wird normalerweise für SSH-Verbindungen verwendet. Wenn Ihr Server einen anderen Port verwendet, geben Sie diesen ein.
    • Connection type: Wählen Sie SSH.
  4. Verbindung starten: Klicken Sie auf die Schaltfläche "Open".
  5. Authentifizierung: Der Server fordert einen Benutzernamen und ein Passwort an. Geben Sie die richtigen Informationen ein.
  6. Verbindung hergestellt: Wenn Sie sich erfolgreich verbunden haben, können Sie auf die Befehlszeile des Servers zugreifen.

SSH-Verbindung mit OpenSSH herstellen (Linux/macOS):

  1. Terminal öffnen: Starten Sie die Terminalanwendung.
  2. SSH-Befehl verwenden: Stellen Sie mit dem folgenden Befehl eine Verbindung zum Server her:
    ssh benutzername@server_ip_adresse

    Zum Beispiel: ssh [email protected]

  3. Authentifizierung: Der Server fordert ein Passwort an. Geben Sie das richtige Passwort ein.
  4. Verbindung hergestellt: Wenn Sie sich erfolgreich verbunden haben, können Sie auf die Befehlszeile des Servers zugreifen.

Wichtiger Hinweis: Wenn Sie sich zum ersten Mal mit einem Server verbinden, fordert der SSH-Client Sie möglicherweise auf, den Fingerabdruck des Servers zu überprüfen. Dies ist wichtig, um die Identität des Servers zu bestätigen. Es wird empfohlen, den Fingerabdruck von Ihrem Serveradministrator zu überprüfen.

Wie funktioniert die SSH-schlüsselbasierte Authentifizierung?

Die passwortbasierte Authentifizierung ist eine der gebräuchlichsten Methoden zum Herstellen einer SSH-Verbindung, birgt jedoch einige Sicherheitsrisiken. Die SSH-schlüsselbasierte Authentifizierung ist eine sicherere Methode, mit der Sie sich ohne Passwort mit dem Server verbinden können.

Vorteile der SSH-schlüsselbasierten Authentifizierung:

  • Sicherer: Sicherer als die passwortbasierte Authentifizierung, da Passwörter leichter zu erraten oder abzufangen sind.
  • Erleichtert die Automatisierung: Lässt sich leichter in Skripte und Automatisierungstools integrieren.
  • Benutzerfreundlichkeit: Sie können sich mit Servern verbinden, ohne ein Passwort eingeben zu müssen.

Schritt-für-Schritt-Anleitung zur Einrichtung der SSH-schlüsselbasierten Authentifizierung:

  1. Schlüsselpaar erstellen:
    • Öffnen Sie das Terminal.
    • Erstellen Sie ein Schlüsselpaar mit dem folgenden Befehl:
      ssh-keygen -t rsa -b 4096

      Dieser Befehl erstellt ein RSA-Schlüsselpaar. Der Parameter -t gibt den Schlüsseltyp (RSA) an, der Parameter -b die Schlüssellänge (4096 Bit).

    • Der Befehl fordert Sie auf, einen Dateinamen für die Speicherung der Schlüssel anzugeben. Standardmäßig werden diese in den Dateien ~/.ssh/id_rsa und ~/.ssh/id_rsa.pub gespeichert. Sie können die Standardeinstellung akzeptieren, indem Sie die Eingabetaste drücken.
    • Der Befehl fordert Sie auf, ein Passwort (Passphrase) einzugeben. Sie können optional ein Passwort festlegen. Das Passwort schützt Ihren privaten Schlüssel.
  2. Öffentlichen Schlüssel auf den Server kopieren:
    • Sie müssen Ihren öffentlichen Schlüssel (~/.ssh/id_rsa.pub) auf den Server kopieren. Sie können dazu den Befehl ssh-copy-id verwenden:
      ssh-copy-id benutzername@server_ip_adresse

      Zum Beispiel: ssh-copy-id [email protected]

    • Der Befehl verbindet sich mit dem Server und fordert Sie auf, Ihr Passwort einzugeben. Geben Sie das richtige Passwort ein.
    • Der Befehl ssh-copy-id kopiert Ihren öffentlichen Schlüssel in die Datei ~/.ssh/authorized_keys auf dem Server.
  3. SSH-Verbindung testen:
    • Sie sollten sich nun ohne Passworteingabe mit dem Server verbinden können:
      ssh benutzername@server_ip_adresse
    • Wenn Sie ein Passwort festgelegt haben, müssen Sie nur dieses Passwort eingeben.

Wichtige Hinweise:

  • Bewahren Sie Ihren privaten Schlüssel (~/.ssh/id_rsa) an einem sicheren Ort auf. Wenn Sie ihn verlieren, verlieren Sie den Zugriff auf den Server.
  • Scheuen Sie sich nicht, Ihren öffentlichen Schlüssel (~/.ssh/id_rsa.pub) weiterzugeben. Dieser Schlüssel wird verwendet, um Ihre Identität auf dem Server zu authentifizieren.
  • Wenn Sie ein Passwort festgelegt haben, wählen Sie ein starkes Passwort und vergessen Sie es nicht.

Was ist SSH-Tunneling (Portweiterleitung) und wie wird es verwendet?

SSH-Tunneling oder Portweiterleitung ist eine Technik, die verwendet wird, um eine andere Netzwerkverbindung über eine SSH-Verbindung weiterzuleiten. Dies ermöglicht es Ihnen, unsichere Protokolle sicher zu verwenden oder auf Ressourcen hinter Firewalls zuzugreifen.

Anwendungsbereiche von SSH-Tunneling:

  • Unsichere Protokolle sicherer machen: Sie können die Sicherheit erhöhen, indem Sie unverschlüsselte Protokolle wie VNC und HTTP über einen SSH-Tunnel leiten.
  • Zugriff auf Ressourcen hinter Firewalls: Sie können sicher über einen SSH-Tunnel auf eine Datenbank oder einen Webserver hinter einer Firewall zugreifen.
  • Fernzugriff auf lokale Netzwerkdienste: Sie können über einen SSH-Tunnel aus der Ferne auf einen Drucker oder Dateiserver zu Hause zugreifen.

SSH-Tunneling-Typen:

  • Lokale Portweiterleitung (-L): Leitet einen Port auf Ihrem lokalen Rechner zu einem Port auf dem Remote-Server weiter.
  • Remote-Portweiterleitung (-R): Leitet einen Port auf dem Remote-Server zu einem Port auf Ihrem lokalen Rechner oder einem anderen Rechner weiter.
  • Dynamische Portweiterleitung (-D): Erstellt einen SOCKS-Proxy-Server auf Ihrem lokalen Rechner.

Beispiel für lokale Portweiterleitung:

Nehmen wir an, Sie haben einen Webserver, der auf Ihrem lokalen Rechner (127.0.0.1) auf Port 8080 läuft. Sie möchten auf diesen Webserver über Ihren Remote-Server (192.168.1.100) zugreifen. Sie können die lokale Portweiterleitung mit dem folgenden Befehl durchführen:

ssh -L 8080:127.0.0.1:8080 [email protected]

Dieser Befehl leitet den Port 8080 auf dem Remote-Server zum Port 8080 auf der Adresse 127.0.0.1 auf Ihrem lokalen Rechner weiter. Jetzt können Sie über den Browser des Remote-Servers auf Ihre lokale Webserver zugreifen, indem Sie die Adresse http://localhost:8080 aufrufen.

Beispiel für Remote-Portweiterleitung:

Nehmen wir an, Sie haben einen MySQL-Datenbankserver, der auf Ihrem Remote-Server (192.168.1.100) auf Port 3306 läuft. Sie möchten von Ihrem lokalen Rechner (127.0.0.1) auf diese Datenbank zugreifen. Sie können die Remote-Portweiterleitung mit dem folgenden Befehl durchführen:

ssh -R 3306:127.0.0.1:3306 [email protected]

Dieser Befehl leitet den Port 3306 auf dem Remote-Server zum Port 3306 auf der Adresse 127.0.0.1 auf Ihrem lokalen Rechner weiter. Jetzt können Sie mit Ihrem lokalen MySQL-Client eine Verbindung zur Adresse 127.0.0.1:3306 herstellen und auf die Remote-Datenbank zugreifen.

Beispiel für dynamische Portweiterleitung:

Die dynamische Portweiterleitung ermöglicht es Ihnen, Ihren gesamten Netzwerkverkehr über einen SSH-Tunnel zu leiten, indem Sie einen SOCKS-Proxy-Server erstellen. Dies ist besonders nützlich, um auf Ressourcen hinter Firewalls zuzugreifen. Sie können die dynamische Portweiterleitung mit dem folgenden Befehl durchführen:

ssh -D 1080 benutzername@server_ip_adresse

Dieser Befehl erstellt einen SOCKS-Proxy-Server auf Ihrem lokalen Rechner auf Port 1080. Anschließend können Sie die Proxy-Einstellungen Ihres Browsers oder anderer Anwendungen so konfigurieren, dass dieser Server verwendet wird. Ihr gesamter Netzwerkverkehr wird nun über den SSH-Tunnel geleitet.

Wie kann die SSH-Sicherheit gewährleistet werden?

SSH ist standardmäßig ein sicheres Protokoll, aber Sie können es noch sicherer machen, indem Sie zusätzliche Sicherheitsmaßnahmen ergreifen.

Tipps für die SSH-Sicherheit:

  • Nutzen Sie die schlüsselbasierte Authentifizierung: Sie ist sicherer als die passwortbasierte Authentifizierung.
  • Verwenden Sie ein starkes Passwort (wenn Sie Passwörter verwenden): Stellen Sie sicher, dass Ihr Passwort lang, komplex und schwer zu erraten ist.
  • Ändern Sie den SSH-Port: Der Standard-SSH-Port (22) ist ein häufiges Ziel für Angreifer. Durch die Verwendung eines anderen Ports können Sie das Angriffsrisiko verringern.
  • Deaktivieren Sie die Root-Anmeldung: Deaktivieren Sie den direkten SSH-Zugriff mit dem Root-Benutzer. Melden Sie sich stattdessen mit einem normalen Benutzer an und verwenden Sie dann den Befehl sudo, um Root-Rechte zu erlangen.
  • Deaktivieren Sie unnötige Funktionen: Sie können die Angriffsfläche verringern, indem Sie Funktionen deaktivieren, die Sie nicht verwenden, wie z. B. X-Forwarding und Port-Forwarding.
  • Verwenden Sie eine Firewall: Mit einer Firewall können Sie den SSH-Zugriff nur von zulässigen IP-Adressen aus zulassen.
  • Behalten Sie SSH-Updates im Auge: Schließen Sie Sicherheitslücken, indem Sie Ihre SSH-Software regelmäßig aktualisieren.
  • Verwenden Sie Fail2ban: Fail2ban ist ein Sicherheitstool, das fehlgeschlagene Anmeldeversuche erkennt und IP-Adressen automatisch blockiert.
  • Überwachen Sie regelmäßig die Protokolle: Sie können verdächtige Aktivitäten erkennen, indem Sie die SSH-Protokolle regelmäßig überwachen.

SSH-Konfigurationsdatei (/etc/ssh/sshd_config):

Sie können das Verhalten Ihres SSH-Servers anpassen, indem Sie die SSH-Konfigurationsdatei bearbeiten. Hier sind einige wichtige Konfigurationsoptionen:


Port 2222 # SSH-Port ändern
PermitRootLogin no # Root-Anmeldung deaktivieren
PasswordAuthentication no # Passwortbasierte Authentifizierung deaktivieren
AllowUsers benutzer1 benutzer2 # Nur bestimmten Benutzern den Zugriff erlauben

Wichtiger Hinweis: Nachdem Sie die SSH-Konfigurationsdatei geändert haben, müssen Sie den SSH-Dienst neu starten:

sudo systemctl restart sshd

Die folgende Tabelle bietet eine Zusammenfassung der SSH-Sicherheitsmaßnahmen:

Sicherheitsmaßnahme Beschreibung Wichtigkeit
Schlüsselbasierte Authentifizierung Verwendung eines Schlüsselpaares anstelle eines Passworts Hoch
Starkes Passwort (falls verwendet) Ein langes, komplexes und schwer zu erratendes Passwort Mittel
SSH-Port ändern Verwendung eines anderen Ports als des Standardports (22) Mittel
Root-Login deaktivieren Direkten Zugriff mit dem Root-Benutzer verhindern Hoch
Unnötige Funktionen deaktivieren Reduzierung der Angriffsfläche durch Deaktivieren nicht verwendeter Funktionen Mittel
Verwendung einer Firewall Zugriff nur von zugelassenen IP-Adressen zulassen Hoch
SSH-Updates verfolgen Regelmäßige Aktualisierung der Software, um Sicherheitslücken zu schließen Hoch
Verwendung von Fail2ban Erkennung fehlgeschlagener Anmeldeversuche und Sperrung von IP-Adressen Hoch
Protokolle regelmäßig überwachen Verdächtige Aktivitäten erkennen Mittel

SSH-Verbindungsprobleme und Lösungen

Beim Herstellen einer SSH-Verbindung können verschiedene Probleme auftreten. Hier sind die häufigsten Probleme und Lösungen:

  • Fehler "Connection refused" (Verbindung abgelehnt):
    • Ursachen:
      • Der SSH-Dienst läuft möglicherweise nicht auf dem Server.
      • Die Firewall blockiert möglicherweise die Verbindung.
      • Möglicherweise wurde eine falsche IP-Adresse oder Portnummer eingegeben.
    • Lösungen:
      • Stellen Sie sicher, dass der SSH-Dienst auf dem Server ausgeführt wird (sudo systemctl status sshd).
      • Überprüfen Sie die Firewall-Einstellungen und erlauben Sie den SSH-Port.
      • Stellen Sie sicher, dass Sie die IP-Adresse und Portnummer korrekt eingegeben haben.
  • Fehler "Permission denied (publickey)" (Berechtigung verweigert - Publickey):
    • Ursachen:
      • Der öffentliche Schlüssel wurde möglicherweise nicht korrekt auf den Server kopiert.
      • Die Berechtigungen der Datei ~/.ssh/authorized_keys auf dem Server sind möglicherweise falsch.
      • Möglicherweise wird ein falscher Benutzername verwendet.
    • Lösungen:
      • Stellen Sie sicher, dass der öffentliche Schlüssel korrekt auf den Server kopiert wurde (verwenden Sie den Befehl ssh-copy-id erneut).
      • Stellen Sie sicher, dass die Berechtigungen der Datei ~/.ssh/authorized_keys auf dem Server korrekt sind (chmod 600 ~/.ssh/authorized_keys).
      • Stellen Sie sicher, dass Sie den richtigen Benutzernamen verwenden.
  • Fehler "Timeout" (Zeitüberschreitung):
    • Ursachen:
      • Es liegt möglicherweise ein Netzwerkproblem vor, das den Zugriff auf den Server verhindert.
      • Der Server ist möglicherweise zu beschäftigt.
      • Die Verbindung dauert möglicherweise zu lange.
    • Lösungen:
      • Überprüfen Sie Ihre Netzwerkverbindung.
      • Versuchen Sie es später noch einmal.
      • Erhöhen Sie die Timeout-Einstellungen des SSH-Clients.
  • Fehler "Host key verification failed" (Überprüfung des Host-Schlüssels fehlgeschlagen):
    • Ursachen:
      • Der Fingerabdruck des Serverschlüssels hat sich möglicherweise geändert (z. B. wurde der Server neu installiert).
      • Es liegt möglicherweise ein Man-in-the-Middle-Angriff vor.
    • Lösungen:
      • Bestätigen Sie den neuen Schlüssel-Fingerabdruck von Ihrem Serveradministrator.
      • Löschen Sie den alten Schlüssel-Fingerabdruck aus der Datei ~/.ssh/known_hosts des SSH-Clients.

Wichtiger Hinweis: Es gibt viele Ressourcen, die bei der Behebung von SSH-Verbindungsproblemen helfen können. Sie können weitere Informationen finden, indem Sie im Internet suchen oder in der Dokumentation Ihres SSH-Programms nachschlagen.

 

Finden Sie nicht die Informationen, die Sie suchen?

Ticket erstellen
Fanden Sie es nützlich?
(126 mal angesehen / 32 Kunden fanden es hilfreich)

Call now to get more detailed information about our products and services.

Top