Zum Hauptinhalt springen

Einrichten von SSH unter Linux Debian: Ausführliche Anleitung und Tipps

SSH (Secure Shell) ist ein sicheres Remote–Arbeitsprotokoll, das eine sichere Verbindung zwischen Client- und Servercomputern ermöglicht. In diesem Artikel werden wir eine detaillierte Anleitung zum Einrichten von SSH auf dem Linux-Betriebssystem Debian durchgehen und einige nützliche Tipps zur Verbesserung der Sicherheit und Effizienz bei der Arbeit mit SSH bereitstellen.

Schritt 1: Installieren Sie SSH. Zuerst müssen Sie sicherstellen, dass SSH auf Ihrem Linux-Debian installiert ist. Wenn nicht installiert, führen Sie den folgenden Befehl im Terminal aus:

Mit diesem Befehl wird das openssh-Server-Paket installiert, das die notwendigen Komponenten für den Betrieb von SSH bereitstellt.

Schritt 2: Überprüfen des SSH-Status. Nach der Installation müssen Sie überprüfen, ob der SSH-Dienst ausgeführt wird. Führen Sie den Befehl aus:

Wenn der Dienst ausgeführt wird, wird die Meldung «active (running)» oder «active (exited)» angezeigt. Wenn der Dienst nicht ausgeführt wird, führen Sie den folgenden Befehl aus:

Dadurch wird der SSH-Dienst gestartet.

Was ist SSH und warum wird es unter Linux Debian benötigt?

Der Hauptzweck von SSH besteht darin, einen sicheren Kommunikationskanal zwischen zwei Remote-Geräten bereitzustellen. Dies wird erreicht, indem die übertragenen Daten verschlüsselt und die Benutzer autorisiert werden. Mit SSH können Sie auch verschiedene Befehle ausführen und Dateien zwischen Remote-Geräten übertragen.

Die Verwendung von SSH unter Linux Debian hat mehrere Vorteile:

  1. Sicherheit: SSH verschlüsselt alle über das Netzwerk übertragenen Daten, um sie vor Abfangen und unbefugtem Zugriff zu schützen. SSH bietet auch die Möglichkeit, Verschlüsselungsschlüssel für eine höhere Sicherheit zu verwenden.
  2. Bequemlichkeit: Mit SSH können Sie Linux Debian von überall mit Internetzugang aus fernsteuern. Dies ist besonders nützlich für Systemadministratoren, die ihre Server ohne physische Präsenz verwalten möchten.
  3. Flexibilität: Mit SSH können Sie verschiedene Authentifizierungsmethoden wie ein Passwort, einen öffentlichen Schlüssel und eine Zwei-Faktor-Authentifizierung verwenden. Auf diese Weise können Sie von Fall zu Fall die bequemste und sicherste Methode auswählen.

Im Allgemeinen ist die Verwendung von SSH unter Linux Debian ein wichtiger Aspekt der Sicherheit und Verwaltung von Remote-Systemen. Es ermöglicht Administratoren, sich nahtlos mit Remote-Servern zu verbinden, Dateien zu übertragen und Befehle auszuführen, während gleichzeitig ein hohes Maß an Sicherheit gewährleistet ist.

Unterschiede zwischen SSH und Telnet

  • Sicherheit: Der Hauptunterschied zwischen SSH und Telnet liegt in der Sicherheitsstufe. SSH bietet Datenverschlüsselung, was es im Vergleich zu Telnet viel sicherer macht. Alle über SSH übertragenen Informationen sind vor Abhören und Spoofing geschützt.
  • Authentifizierung: SSH verwendet die Authentifizierung über einen öffentlichen Schlüssel, wodurch der Verbindungsprozess sicherer und zuverlässiger wird. Telnet hingegen authentifiziert sich mit einfachen und unsicheren Passwörtern.
  • Hafen: SSH verwendet standardmäßig Port 22, während Telnet Port 23 verwendet. Dies macht SSH erschwinglicher, da das Sperren von Port 23 eine ziemlich häufige Aktivität zur Verbesserung der Sicherheit ist.
  • Funktion: SSH hat eine breitere Funktionalität als Telnet. SSH ermöglicht das Übertragen von Dateien, das Ausführen von Befehlen auf einem Remote-Server, das Portweiterleiten und vieles mehr. Telnet hingegen hat nur begrenzte Funktionen und wird hauptsächlich für die Arbeit mit Befehlszeilenbefehlen verwendet.

Im Allgemeinen ist SSH, wenn es um sicheren und sicheren Remote-Zugriff auf einen Server oder Computer geht, die bevorzugte Option. Telnet wird wiederum verwendet, wenn SSH nicht verwendet werden kann oder wenn die Telnet-Funktionalität die Anforderungen des Benutzers vollständig erfüllt.

Einrichten von SSH unter Linux Debian: Schritt für Schritt

  1. Stellen Sie sicher, dass SSH bereits auf Ihrem Debian-System installiert ist. Führen Sie den Befehl aus, um dies zu überprüfen:
    • sudo apt-get install openssh-server
  2. Überprüfen Sie, indem Sie den Befehl ssh -V ausführen , dass SSH funktioniert und installiert ist. Die SSH-Version wird angezeigt.
  3. Öffnen Sie die SSH-Konfigurationsdatei mit dem Befehl:
    • sudo nano /etc/ssh/sshd_config
  4. Es wird empfohlen, den SSH-Port zu ändern, um die Sicherheit zu erhöhen. Suchen Sie die Zeile #Port 22 und ändern Sie sie in Ihren Port. Zum Beispiel Port 2222 .
  5. Wenn Sie nur bestimmten Benutzern erlauben möchten, eine Verbindung über SSH herzustellen, deaktivieren Sie das Kommentieren und ändern Sie die Zeile #AllowUsers in das folgende Abbild:
    • AllowUsers username1 username2
  6. Wenn der SSH-Zugriff nur über Schlüssel und nicht über Kennwörter erforderlich ist, stellen Sie sicher, dass PasswordAuthentication in der Datei /etc/ssh/sshd_config auf no gesetzt ist.
  7. Speichern Sie die Änderungen, indem Sie Strg+O drücken, und beenden Sie dann den Editor mit Strg+ X .
  8. Starten Sie den SSH-Dienst neu, damit die Änderungen wirksam werden:
    • sudo service ssh restart
  9. Wenn Sie von einem anderen Computer aus eine Verbindung zu einem Remote-System über SSH herstellen möchten, führen Sie den folgenden Befehl aus, wobei username für Ihren Benutzernamen auf dem Remote-System steht und hostname für die IP-Adresse oder den Domänennamen des Remote-Systems steht:
    • ssh username@hostname
  10. Wenn Sie zum ersten Mal eine Verbindung herstellen, werden Sie möglicherweise aufgefordert, den Hostschlüssel zu bestätigen. Geben Sie einfach yes ein , um fortzufahren.
  11. Wenn alle Einstellungen erfolgreich sind, müssen Sie über SSH mit dem Remote-System verbunden sein.

Jetzt wissen Sie, wie Sie SSH auf Linux Debian Schritt für Schritt konfigurieren. Denken Sie daran, dass SSH eine sichere und verschlüsselte Möglichkeit bietet, remote auf Ihr System zuzugreifen, daher wird empfohlen, es für die Fernverwaltung zu verwenden.

Generieren von SSH-Schlüsseln unter Linux Debian

Sie können das Dienstprogramm ssh-keygen verwenden, um SSH-Schlüssel unter Linux Debian zu generieren.

SchrittDas TeamDie Beschreibung
1 ssh-keygen -t rsa Schlüsselgenerierung. Standardmäßig wird der RSA-Algorithmus verwendet.
2 Enter file in which to save the key (/home/user/.ssh/id_rsa) Geben Sie einen Pfad und einen Dateinamen an, um den Schlüssel zu speichern. Standardmäßig wird der Schlüssel in der Datei id_rsa im Verzeichnis gespeichert.ssh im Home-Verzeichnis des Benutzers.
3 Enter passphrase (empty for no passphrase) Geben Sie das Kennwort (Bestätigung) ein. Dieses Passwort wird verwendet, um Ihren Schlüssel zu schützen.
4 Enter same passphrase again Wiederholen Sie das eingegebene Passwort.

Nachdem diese Befehle ausgeführt wurden, werden zwei Dateien generiert: ein privater Schlüssel ( id_rsa ) und ein öffentlicher Schlüssel ( id_rsa ).pub ).

Der private Schlüssel muss an einem sicheren Ort gespeichert und niemals über das Netzwerk übertragen werden. Ein öffentlicher Schlüssel kann sicher verteilt werden.

Durch die Generierung von SSH-Schlüsseln unter Linux Debian können Sie eine sichere Verbindung für die Anmeldung über SSH erstellen, ohne dass Sie ein Passwort eingeben müssen.

Wie kann ich SSH unter Linux Debian sichern

Hier sind einige Anleitungen und Tipps, mit denen Sie Ihren SSH-Server schützen können:

1. Verwenden Sie SSH-Schlüssel anstelle von Kennwörtern

Anstatt normale Passwörter für die Authentifizierung zu verwenden, wird empfohlen, SSH-Schlüssel zu verwenden. Ein SSH-Schlüssel besteht aus öffentlichen und privaten Teilen, in denen der private Schlüssel auf Ihrem lokalen Computer und der öffentliche Schlüssel auf dem Server gespeichert ist. Wenn Sie eine Verbindung zu einem Server herstellen, wird Ihr SSH-Client einen privaten Schlüssel zur Authentifizierung verwenden, wodurch der Prozess sicherer wird, da Sie kein Passwort eingeben müssen.

Sie können den Befehl verwenden, um ein SSH-Schlüsselpaar zu generieren:

ssh-keygen -t rsa

2. Ändern Sie den Standard-SSH-Port

Standardmäßig verwendet SSH Port 22, was es zu einem leichten Ziel für andere Angreifer macht. Es wird empfohlen, den Standardport in eine nicht standardmäßige Nummer zu ändern, z. B. 2025 oder 2222. Dadurch wird das Risiko eines Angriffs auf Ihren SSH-Server reduziert.

Um den Port zu ändern, müssen Sie die SSH-Konfigurationsdatei bearbeiten:

sudo nano /etc/ssh/sshd_config

Suchen Sie die Zeile mit dem Parameter "Port" und ändern Sie den Port in die gewünschte Nummer. Speichern Sie die Datei nach der Änderung, und starten Sie den SSH-Dienst neu:

sudo systemctl restart ssh

3. Beschränken Sie den Zugriff auf die IP-Adresse

Eine weitere gute Möglichkeit, die SSH-Sicherheit zu verbessern, besteht darin, den Zugriff auf den Server nur auf bestimmte IP-Adressen zu beschränken. Sie können dies tun, indem Sie die SSH-Konfigurationsdatei bearbeiten und am Anfang der Datei die folgende Zeile hinzufügen:

AllowUsers your_username@your_ip_address

Hier steht "your_username" für Ihren Benutzernamen und "your_ip_address" für Ihre IP-Adresse. Sie können zusätzliche IP-Adressen angeben, indem Sie sie durch ein Leerzeichen trennen.

4. Deaktivieren Sie die Anmeldung mit dem Root-Benutzer

Es kann gefährlich sein, sich mit einem Root-Benutzer beim Server anzumelden, da Angreifer dadurch mehr Berechtigung erhalten. Es wird empfohlen, die Anmeldung mit dem Root-Benutzer zu verweigern und einen normalen Benutzer zu verwenden, dem Sie dann bei Bedarf Root-Rechte erteilen können.

Um die Anmeldung mit dem Root-Benutzer zu verhindern, müssen Sie die SSH-Konfigurationsdatei bearbeiten:

sudo nano /etc/ssh/sshd_config

Suchen Sie nach der Zeile mit dem Parameter "PermitRootLogin" und ändern Sie den Wert in "no". Speichern Sie die Datei nach der Änderung, und starten Sie den SSH-Dienst neu:

sudo systemctl restart ssh

5. Installieren Sie die Software, um Einbruchsversuche zu verfolgen

Um Versuche zu verfolgen, SSH zu hacken, können Sie Software wie fail2ban installieren. Fail2ban schützt Ihren Server, indem er automatisch die IP-Adressen blockiert, von denen die fehlgeschlagenen Anmeldeversuche ausgeführt werden. Die Installation und Konfiguration von Fail2ban kann Ihnen helfen, die Sicherheit Ihres SSH-Servers zu gewährleisten.

Um fail2ban unter Debian zu installieren, führen Sie den folgenden Befehl aus:

sudo apt updatesudo apt install fail2ban

Dies sind nur einige Möglichkeiten, um die SSH-Sicherheit unter Linux Debian zu verbessern. Denken Sie daran, dass Sicherheit ein kontinuierlicher Prozess ist und die Sicherheit Ihres Servers regelmäßig aktualisiert und analysiert wird, um die Zuverlässigkeit und den Schutz vor Hackern zu gewährleisten.

Weitere Tipps zum Einrichten von SSH unter Linux Debian

1. Ändern des SSH-Ports

Das Ändern des Standard-SSH-Ports kann die Sicherheit Ihres Servers erhöhen, da viele Angriffe genau auf den Standard-Port 22 abzielen. Sie können den Port in der Datei ändern /etc/ssh/sshd_config. Suchen Sie die Zeile #Port 22 und ersetzen Sie es durch einen für Sie üblichen Port, zum Beispiel, Port 2222. Starten Sie den SSH-Dienst nach der Änderung mit dem Befehl neu sudo service ssh restart.

2. Beschränkung des Zugriffs nach IP-Adresse

Sie können den SSH-Zugriff nur auf bestimmte IP-Adressen oder IP-Adressbereiche beschränken. Dazu in der Datei /etc/ssh/sshd_config suchen Sie die Zeile #ListenAddress 0.0.0.0 und ersetzen Sie es durch die IP-Adresse, von der aus Sie den Zugriff auf SSH zulassen möchten, zum Beispiel, ListenAddress 192.168.0.100. Sie können mehrere IP-Adressen angeben, indem Sie sie durch ein Leerzeichen trennen.

3. Aktivieren der Zwei-Faktor-Authentifizierung

Für noch mehr Sicherheit können Sie die Zwei-Faktor-Authentifizierung für SSH aktivieren. Auf diese Weise können Sie zwei verschiedene Authentifizierungsmethoden verwenden, z. B. das von Google Authenticator generierte Passwort und Einmalpasswörter. Installieren Sie das Paket libpam-google-authenticator mit dem Befehl sudo apt-get install libpam-google-authenticator und folgen Sie den Anweisungen, um es einzurichten. Nehmen Sie nach der Konfiguration Änderungen an der Datei vor /etc/ssh/sshd_config eine Zeile hinzufügen ChallengeResponseAuthentication yes.

4. Einschränkung des Zugriffs nach Benutzern

Wenn Sie den SSH-Zugriff für bestimmte Benutzer einschränken müssen, können Sie die Datei verwenden /etc/ssh/sshd_config. In Zeile DenyUsers sie können die Namen der Benutzer angeben, denen die Verbindung zu SSH verweigert wird. Zum Beispiel, DenyUsers user1 user2. In Zeile AllowUsers sie können Benutzernamen angeben, die berechtigt sind, eine Verbindung mit SSH herzustellen. Zum Beispiel, AllowUsers user3 user4. Starten Sie den SSH-Dienst neu, nachdem Sie die Änderungen vorgenommen haben.

5. Verwenden von SSH-Schlüsseln

Die Verwendung von SSH-Schlüsseln kann eine sicherere Authentifizierungsmethode sein als ein Passwort. Dazu müssen Sie einen SSH-Schlüssel auf dem Clientcomputer generieren und dem Server hinzufügen. Erstellen Sie auf dem Server ein Verzeichnis ~/.ssh und die Datei ~/.ssh/authorized_keys wenn es keine gibt. Kopieren Sie dann den Inhalt des öffentlichen Schlüssels (der sich normalerweise in der Datei befindet ~/.ssh/id_rsa.pub auf dem Clientcomputer) und fügen Sie es zur Datei hinzu ~/.ssh/authorized_keys auf dem Server wird jeder Schlüssel mit einer neuen Zeile versehen. Deaktivieren Sie danach die Passwortauthentifizierung in der Datei /etc/ssh/sshd_config durch Hinzufügen einer Zeile PasswordAuthentication no. Starten Sie den SSH-Dienst neu, nachdem Sie die Änderungen vorgenommen haben.

Beachten Sie diese zusätzlichen Tipps für eine sicherere und einfachere Konfiguration von SSH unter Linux Debian.