33%

Black Friday Sale Off on everything

and 40% off for dedicated bulgaria servers

Benutze den Code:

BLACK33
BG40
Promo verwenden
29.10.2024

So installieren und konfigurieren Sie SSH

SSH auf AlexHost VPS installieren und sichern: Zero-Trust Setup in 2025

SSH = Ihre einzige Tür zum Server. Falsch konfiguriert = gehackt in <5 min. Der VPS von AlexHost mit NVMe und DDoS-Schutz bietet Ihnen Root-Zugriff und einen 1-Gbit/s-Port – perfekt für gehärtetes SSH. In diesem Artikel zeigen wir Ihnen, wie Sie SSH unter Linux installieren und konfigurieren, und gehen dabei auf die Grundlagen, Konfigurationsoptionen und Sicherheitsempfehlungen ein.


Was ist SSH?

SSH steht für Secure Shell und ermöglicht es Benutzern, über eine Befehlszeilenschnittstelle eine sichere Verbindung zu einem entfernten System herzustellen. Das Protokoll verschlüsselt die Daten zwischen dem Client und dem Server, was es zu einer sicheren Kommunikationsmethode macht, insbesondere für den Zugriff auf Server über ein ungesichertes Netzwerk wie das Internet. SSH arbeitet standardmäßig über Port 22 und kann für Folgendes verwendet werden

  • Fernanmeldung bei Servern
  • Sichere Dateiübertragung (mit SCP oder SFTP)
  • Ausführung von Fernbefehlen
  • Portweiterleitung und Tunneling

Schritt 1: Installieren von SSH

Bei den meisten Linux-Distributionen ist SSH bereits vorinstalliert, aber wenn es nicht installiert ist, können Sie es einfach mit dem Paketmanager Ihrer Distribution installieren

Für Ubuntu/Debian:

sudo apt update sudo apt install openssh-server

Für CentOS/RHEL:

sudo yum install openssh-server

Für Fedora:

sudo dnf install openssh-server

Für Arch Linux:

sudo pacman -S openssh

Nach der Installation haben Sie den OpenSSH-Server und -Client installiert, so dass Sie sowohl einen SSH-Server betreiben als auch eine Verbindung zu anderen SSH-Servern herstellen können


Schritt 2: Starten und Aktivieren des SSH-Dienstes

Nach der Installation müssen Sie den SSH-Dienst (auch bekannt als sshd – SSH-Daemon) starten und aktivieren, damit er beim Systemstart ausgeführt wird

Starten des SSH-Dienstes:

sudo systemctl start ssh

Aktivieren von SSH zum Starten beim Systemstart:

sudo systemctl enable ssh

Sie können überprüfen, ob SSH korrekt läuft, indem Sie Folgendes eingeben

sudo systemctl status ssh

Wenn der Dienst läuft, sehen Sie einen aktiven Status, der anzeigt, dass SSH bereit ist, Verbindungen zu akzeptieren


Schritt 3: Grundlegende SSH-Konfiguration

Das Verhalten von SSH wird durch die Konfigurationsdatei gesteuert, die sich unter

/etc/ssh/sshd_config

Sie können diese Datei bearbeiten, um die SSH-Einstellungen zu ändern, z. B. den Standard-Port zu ändern, den Root-Login zu deaktivieren oder die schlüsselbasierte Authentifizierung einzurichten. Um die Datei zu bearbeiten, verwenden Sie einen Texteditor wie nano oder vim

sudo nano /etc/ssh/sshd_config

Einige häufige Konfigurationsänderungen sind

1. Ändern des Standard-SSH-Ports

Aus Sicherheitsgründen ist es eine gute Idee, den Standard-SSH-Port von 22 auf einen anderen Port zu ändern. Dadurch lässt sich das Risiko automatischer Angriffe auf den Standard-SSH-Port verringern. Suchen Sie die folgende Zeile in der Konfigurationsdatei

#Port 22

Heben Sie den Kommentar auf und ändern Sie die Portnummer

Anschluss 2222

Nachdem Sie die Datei gespeichert haben, starten Sie den SSH-Dienst neu, um die Änderungen zu übernehmen

sudo systemctl restart ssh

Stellen Sie sicher, dass Sie Ihre Firewall-Regeln aktualisieren, um Verbindungen über den neuen Port zuzulassen

2. Root-Login deaktivieren

Das Zulassen des Root-Logins über SSH stellt ein Sicherheitsrisiko dar. Um dies zu verhindern, finden Sie die folgende Zeile in der Konfigurationsdatei

PermitRootLogin yes

Ändern Sie sie in

PermitRootLogin no

Damit wird der direkte Root-Zugang über SSH verhindert. Benutzer können sich weiterhin mit einem normalen Konto anmelden und dann mit sudo oder su zu root wechseln

3. Aktivieren Sie die schlüsselbasierte Authentifizierung

Die schlüsselbasierte SSH-Authentifizierung ist eine sicherere Methode als die Verwendung von Passwörtern. Dabei wird ein SSH-Schlüsselpaar (öffentlicher und privater Schlüssel) erzeugt und der private Schlüssel zur Authentifizierung verwendet. Um die schlüsselbasierte Authentifizierung zu erzwingen, suchen Sie die folgenden Zeilen und stellen Sie sicher, dass sie auf yes gesetzt sind

PubkeyAuthentifizierung ja PasswordAuthentifizierung nein

Damit wird die passwortbasierte Anmeldung deaktiviert und der SSH-Zugang nur über die schlüsselbasierte Authentifizierung ermöglicht


Schritt 4: Erzeugen von SSH-Schlüsseln (schlüsselbasierte Authentifizierung)

SSH-Schlüsselpaare bieten eine sichere Möglichkeit, sich ohne Passwort anzumelden. Im Folgenden wird beschrieben, wie Sie SSH-Schlüssel erzeugen und einrichten

Schritt 1: Erzeugen des SSH-Schlüsselpaars

Führen Sie auf Ihrem lokalen Rechner den folgenden Befehl aus, um ein Schlüsselpaar zu erzeugen

ssh-keygen -t rsa -b 4096

Sie werden aufgefordert, einen Dateinamen zum Speichern des Schlüssels einzugeben (oder drücken Sie die Eingabetaste, um den Standardspeicherort zu verwenden) sowie eine optionale Passphrase für zusätzliche Sicherheit. Dadurch werden zwei Dateien erstellt

  • ~/.ssh/id_rsa: Ihr privater Schlüssel (bewahren Sie diesen sicher auf und geben Sie ihn nicht weiter).
  • ~/.ssh/id_rsa.pub: Ihr öffentlicher Schlüssel (dieser kann weitergegeben und zu entfernten Servern hinzugefügt werden).

Schritt 2: Kopieren Sie den öffentlichen Schlüssel auf den Server

Um den Schlüssel für die SSH-Anmeldung zu verwenden, kopieren Sie den öffentlichen Schlüssel auf den entfernten Server, auf den Sie zugreifen möchten. Dies können Sie mit dem Befehl ssh-copy-id tun

ssh-copy-id username@remote_host

Ersetzen Sie username durch den Benutzernamen Ihres Fernservers und remote_host durch die IP-Adresse oder den Hostnamen des Servers. Dadurch wird Ihr öffentlicher Schlüssel auf den Server kopiert und der Datei ~/.ssh/authorized_keys hinzugefügt, so dass Sie sich ohne Passwort anmelden können

Schritt 3: Anmelden mit SSH-Schlüssel

Nun können Sie sich mit Ihrem privaten Schlüssel beim entfernten Server anmelden

ssh username@remote_host

Wenn Sie einen benutzerdefinierten Port festgelegt haben, geben Sie ihn mit der Option -p an

ssh -p 2222 benutzername@remote_host

Schritt 5: Sichern Sie Ihre SSH-Konfiguration

Nach der Einrichtung von SSH ist es wichtig, bewährte Sicherheitsverfahren zu befolgen, um sicherzustellen, dass Ihr Server vor unbefugtem Zugriff geschützt ist

1. Verwenden Sie starke Passwörter (wenn Sie Passwort-Authentifizierung verwenden)

Wenn Sie keine schlüsselbasierte Authentifizierung verwenden, stellen Sie sicher, dass alle Benutzerkonten starke, komplexe Passwörter verwenden

2. Verwenden Sie eine Firewall

Stellen Sie sicher, dass die Firewall Ihres Servers nur Datenverkehr über den von Ihnen verwendeten SSH-Port zulässt. Wenn Sie beispielsweise SSH auf Port 2222 geändert haben, lassen Sie den Datenverkehr an diesem Port mit ufw (unter Ubuntu/Debian) oder firewalld (unter CentOS/RHEL) zu

sudo ufw allow 2222/tcp sudo ufw enable

3. SSH-Zugang beschränken

Beschränken Sie den SSH-Zugang auf bestimmte IP-Adressen oder Bereiche, indem Sie die Firewall konfigurieren oder /etc/hosts.allow und /etc/hosts.deny verwenden


Schritt 6: Testen und Fehlersuche bei SSH

Nachdem Sie SSH konfiguriert haben, ist es wichtig, Ihre Einrichtung zu testen. Versuchen Sie, sich über SSH anzumelden, um sicherzustellen, dass alles korrekt funktioniert

Allgemeine Tipps zur SSH-Fehlerbehebung:

  1. Überprüfen Sie die Firewall-Einstellungen: Stellen Sie sicher, dass die Firewall den SSH-Port nicht blockiert.
  2. Prüfen Sie den Status des SSH-Dienstes: Stellen Sie mit systemctl status ssh sicher, dass der SSH-Dienst läuft.
  3. Überprüfen Sie die Konfiguration: Überprüfen Sie die Datei /etc/ssh/sshd_config auf eventuelle Fehlkonfigurationen.
  4. Verwenden Sie den Ausführlichen Modus zur Fehlersuche: Wenn es Probleme gibt, verwenden Sie beim Herstellen einer Verbindung die Option -v, um eine detaillierte Ausgabe zu erhalten:
ssh -v benutzername@remote_host

Schlussfolgerung

Die Installation und Konfiguration von SSH ist eine grundlegende Fähigkeit für jeden Linux-Administrator oder Benutzer, der entfernte Systeme sicher verwalten muss. Anhand dieses Leitfadens können Sie SSH einrichten, es für einen sicheren Zugriff konfigurieren und bewährte Verfahren zum Schutz Ihres Servers vor unbefugtem Zugriff implementieren. Einmal konfiguriert, wird SSH zu einem leistungsstarken Werkzeug für die Fernverwaltung, Automatisierung und sichere Kommunikation zwischen Systemen.

33%

Black Friday Sale Off on everything

and 40% off for dedicated bulgaria servers

Benutze den Code:

BLACK33
BG40
Promo verwenden