So installieren und konfigurieren Sie SSH ⋆ ALexHost SRL

Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills
17.12.2024

So installieren und konfigurieren Sie SSH

SSH (Secure Shell) ist ein Protokoll, das für die sichere Verbindung zu entfernten Systemen, die Ausführung von Befehlen und die Übertragung von Daten verwendet wird. Es bietet eine sichere Methode für Systemadministratoren, Entwickler und Benutzer, um Server und andere Geräte über verschlüsselte Verbindungen aus der Ferne zu verwalten. Die Installation und Konfiguration von SSH ist für den sicheren Zugriff auf Server unerlässlich, sei es für die Systemadministration, für Remote-Arbeiten oder für Entwicklungszwecke.

In diesem Artikel zeigen wir Ihnen, wie Sie SSH unter Linux installieren und konfigurieren. Dabei gehen wir 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 läuft standardmäßig über Port 22 und kann für folgende Zwecke verwendet werden:

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

Schritt 1: Installation 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, mit denen 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 Booten:

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 Standardport zu ändern, die Root-Anmeldung zu deaktivieren oder die schlüsselbasierte Authentifizierung einzurichten.

Verwenden Sie zum Bearbeiten der Datei 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 automatisierter 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, damit die Änderungen übernommen werden:

sudo systemctl restart ssh

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

2. Deaktivieren des Root-Logins

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 nein

Damit wird der direkte Root-Zugriff ü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

Dies deaktiviert die passwortbasierte Anmeldung und ermöglicht den SSH-Zugang nur über die schlüsselbasierte Authentifizierung.


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

SSH-Schlüsselpaare bieten eine sichere Möglichkeit, sich ohne Passwort anzumelden. Hier erfahren Sie, 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.

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

Dies kopiert Ihren öffentlichen Schlüssel auf den Server und fügt ihn der Datei ~/.ssh/authorized_keys hinzu, so dass Sie sich ohne Passwort anmelden können.

Schritt 3: Anmelden mit SSH-Schlüssel

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

ssh benutzername@remote_host

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

ssh -p 2222 benutzername@entfernter_host

Schritt 5: Sichern Ihrer 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 sichere 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 z. B. SSH auf Port 2222 geändert haben, lassen Sie den Verkehr auf 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 Remote-Systeme sicher verwalten muss. Anhand dieser Anleitung können Sie SSH einrichten, 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.

Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills