Nur für unsere Blog-Besucher: Zusätzlich 3 Monate gratis + 10 % Rabatt auf den Dreijahresplan YSBLOG10
Schnapp dir den Deal

Wie stellt man das ein SSH auf Linux-Servern – Vollständiger Leitfaden

Zuletzt aktualisiert: September 7, 2026 8 min gelesen Prahlad Prajapati
Einrichtung SSH unter Linux

Einzurichten SSH auf einem Linux-Server, installieren Sie OpenSSH Serverpaket, SSHD-Dienst starten und aktivieren, zulassen SSH Port in Ihrer Firewall oder Sicherheitsgruppe, konfigurieren Sie sichere Einstellungen in /etc/ssh/sshd_config, richten Sie ein SSH Führen Sie eine Schlüsselauthentifizierung durch und testen Sie eine neue Sitzung, bevor Sie Passwörter oder die Root-Anmeldung deaktivieren.

Secure Shell (SSH) ist der Standard für die Fernverwaltung von Servern. In dieser Anleitung erfahren Sie, wie Sie es einrichten. SSH auf Linux-Servern ordnungsgemäß, von der Installation bis zur Härtung, unter Verwendung klarer Schritte und bewährter Verfahren, die wir täglich auf Produktionssystemen anwenden.

Voraussetzungen und Kurzübersicht

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Root- oder sudo-Zugriff auf den Linux-Server.
  • Konsolenzugriff über Ihr Hosting-Panel im Falle SSH ist falsch konfiguriert.
  • Möglichkeit zum Öffnen von Ports in der Server-Firewall und in Cloud-Sicherheitsgruppen (AWS, GCP, Azure oder Ihrem VPS-Panel).
  • Verpackung manager-Zugriff (apt, dnf/yum, zypper).

Schritte auf höchster Ebene:

Schritt für Schritt: Open installieren und aktivierenSSH Server

Installieren Sie OpenSSH von der Linux-Distribution

ÖffneSSH ist am weitesten verbreitet SSH Implementierung. Installieren Sie es mithilfe des Pakets Ihrer Distribution. manager.

# Debian/Ubuntu
sudo apt update
sudo apt install -y openssh-server

# RHEL 8+/CentOS Stream/AlmaLinux/Rocky
sudo dnf install -y openssh-server

# Older CentOS/RHEL
sudo yum install -y openssh-server

# Fedora
sudo dnf install -y openssh-server

# openSUSE/SLES
sudo zypper install -y openssh

Starten, aktivieren und überprüfen Sie die SSH service

sudo systemctl enable sshd
sudo systemctl start sshd
sudo systemctl status sshd
# Verify it listens (default port 22)
sudo ss -tnlp | grep sshd

Unter Debian/Ubuntu kann der Dienst zwar „ssh“ heißen, systemd verwendet jedoch den Alias ​​sshd. Die obigen Befehle funktionieren auf allen gängigen Distributionen.

Öffne SSH in der Firewall (und Cloud-Sicherheitsgruppen)

Wenn Sie UFW (Ubuntu/Debian) verwenden:

sudo ufw allow 22/tcp
sudo ufw reload
sudo ufw status

Wenn Sie firewalld verwenden (RHEL/CentOS/Fedora):

sudo firewall-cmd --permanent --add-service=ssh
# Or if you plan to change the port: --add-port=2222/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Erlauben Sie auch die SSH Port in der Sicherheitsgruppe Ihres Cloud-Anbieters oder in Ihrem VPS-Panel. Wenn eine Sicherheitsgruppe blockiert SSHDie serverseitigen Firewall-Änderungen werden nicht helfen.

Einrichtung SSH Sicher (sshd_config)

Die Hauptkonfigurationsdatei ist /etc/ssh/sshd_config. Erstellen Sie immer zuerst eine Sicherungskopie, bearbeiten Sie sie sorgfältig und überprüfen Sie die Änderungen, bevor Sie sie wiederherstellen.

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo nano /etc/ssh/sshd_config   # or use vim

Nutzen Sie diese als Ausgangspunkt. Deaktivieren Sie Passwörter erst, nachdem die Schlüssel eingerichtet und getestet wurden.

# Change the default port if desired (also open it in your firewall/SG)
Port 22

Protocol 2
PermitRootLogin no
PasswordAuthentication yes    # switch to 'no' after key auth works
PubkeyAuthentication yes
ChallengeResponseAuthentication no
UsePAM yes

# Limit authentication attempts and session behavior
MaxAuthTries 3
LoginGraceTime 30
ClientAliveInterval 300
ClientAliveCountMax 2

# Restrict who can log in (replace with your usernames)
#AllowUsers adminuser devops

# Reduce surface area
X11Forwarding no
PermitEmptyPasswords no

# Log more detail for troubleshooting
LogLevel VERBOSE

Speichern, dann bestätigen und neu laden:

sudo sshd -t   # syntax check (no output means OK)
sudo systemctl reload sshd

Testen Sie sicher, bevor Sie Ihre aktuelle Sitzung schließen.

Öffnen Sie ein neues Terminal und testen Sie es. SSH Bevor Sie Ihre bestehende Sitzung beenden, insbesondere nach Änderungen wie Portaktualisierungen oder der Deaktivierung von Passwörtern.

# If changed port, use -p
ssh -p 22 user@server-ip

# For first-time connections, verify the host key fingerprint.

Schaffen Sie ein starkes SSH Schlüsselpaar

Verwenden Sie ED25519, es sei denn, Sie benötigen RSA für ältere Systeme.

# On your local machine (macOS/Linux/WSL)
ssh-keygen -t ed25519 -C "[email protected]"
# Accept defaults and add a passphrase for better security

Setzen Sie Ihren öffentlichen Schlüssel ein

Einfachste Methode mit ssh-copy-id:

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server-ip

Falls ssh-copy-id nicht verfügbar ist, kopieren Sie die Datei manuell:

cat ~/.ssh/id_ed25519.pub | ssh user@server-ip "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Testanmeldung mit dem Schlüssel:

ssh user@server-ip

Passwortauthentifizierung deaktivieren, nachdem die Anmeldung mit dem Schlüssel funktioniert

Sobald die Schlüssel funktionieren, sollte die Authentifizierung verschärft werden, um Brute-Force-Angriffe zu verhindern.

# Edit config
sudo nano /etc/ssh/sshd_config
# Set:
PasswordAuthentication no

# Validate and reload
sudo sshd -t && sudo systemctl reload sshd

Erstellen Sie einen Administrator ohne Root-Rechte und verwenden Sie sudo.

Root deaktivieren SSH Melden Sie sich als Nicht-Root-Benutzer mit sudo-Berechtigungen an und führen Sie die Operationen über diesen aus.

# Debian/Ubuntu
sudo adduser adminuser
sudo usermod -aG sudo adminuser

# RHEL/CentOS/Fedora
sudo useradd -m adminuser
sudo passwd adminuser
sudo usermod -aG wheel adminuser

Bestätigen Sie, dass Sie können SSH Melden Sie sich als neuer Benutzer an und führen Sie sudo aus, bevor Sie die Root-Anmeldung deaktivieren.

SSH Bewährte Verfahren zur Härtung

  • Ändern Sie die SSH Port von 22 auf einen hohen, ungenutzten Port ändern und Firewall-/Sicherheitsgruppen entsprechend aktualisieren.
  • Installieren Sie Fail2ban um wiederholte fehlgeschlagene Anmeldeversuche zu blockieren.
  • Beschränken Sie den Zugriff nach IP-Adresse mithilfe von Firewall-Regeln oder sshd_config-Match-Blöcken.
  • Behalten Sie das Betriebssystem und Open beiSSH Pakete aktualisiert.
  • Root-Login deaktivieren (PermitRootLogin no) und Passwörter (nach der Schlüsselkonfiguration).
  • Nicht verwendete Funktionen deaktivieren (X11Forwarding nein, PermitEmptyPasswords nein).
  • Nutzen Sie einen Bastion-Host (ProxyJump), anstatt viele Server dem Internet auszusetzen.
  • Für kritische Systeme sollten Sie die Zwei-Faktor-Authentifizierung (2FA) (z. B. Google Authenticator oder Duo) in Betracht ziehen.

Grundlegende Fail2ban-Einrichtung:

# Install
# Debian/Ubuntu
sudo apt install -y fail2ban
# RHEL/CentOS/Fedora
sudo dnf install -y fail2ban

# Minimal jail
sudo tee /etc/fail2ban/jail.d/sshd.local >/dev/null <<'EOF'
[sshd]
enabled = true
maxretry = 3
bantime = 1h
findtime = 10m
EOF

sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

Wenn SELinux aktiviert ist, stellen Sie sicher, dass die Bezeichnungen Ihres .ssh-Verzeichnisses nach manuellen Änderungen korrekt sind:

sudo restorecon -R -v /home/youruser/.ssh

Häufige Fehlerbehebung SSH Fragen

Verbindung abgelehnt oder Zeitüberschreitung

  • Läuft sshd? Überprüfen Sie den Status mit systemctl.
  • Ist die Firewall am richtigen Port geöffnet?
  • Haben Sie den Port in Ihrer Cloud-Sicherheitsgruppe freigegeben?
  • Lauscht der Server auf der richtigen Schnittstelle? Überprüfen Sie dies mit dem Befehl „ss -tnlp | grep sshd“.

Zugriff verweigert (öffentlicher Schlüssel)

  • Überprüfen Sie, ob der richtige Schlüssel angeboten wird: ssh -v user@server-ip.
  • Berechtigungen korrigieren: .ssh (700), authorized_keys (600), Home-Verzeichnis nicht für Gruppen beschreibbar.
  • Stellen Sie sicher, dass Ihr öffentlicher Schlüssel mit dem Eintrag authorized_keys des Servers übereinstimmt.
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Protokolle prüfen und Konfiguration validieren

sudo journalctl -u sshd -e
sudo sshd -t

Wiederherstellung nach einer fehlerhaften Konfiguration

  • Nutzen Sie Ihre Hosting-Anbieter Konsole/VNC zum Wiederherstellen der Sicherungs-sshd_config.
  • Behalte einen SSH Die Sitzung ist geöffnet, während Änderungen in einer neuen Sitzung getestet werden.
  • Um vorübergehend zwei Ports zu betreiben, fügen Sie eine zweite Port-Zeile hinzu; entfernen Sie diese, nachdem Sie sich vergewissert haben, dass der neue Port funktioniert.

Praxisnaher Schnellstart (Beispiel Ubuntu 22.04)

# 1) Install and start
sudo apt update && sudo apt install -y openssh-server
sudo systemctl enable --now sshd

# 2) Allow firewall
sudo ufw allow 22/tcp && sudo ufw reload

# 3) Create admin user and set SSH keys
sudo adduser adminuser
sudo usermod -aG sudo adminuser
# On your local machine:
ssh-keygen -t ed25519
ssh-copy-id adminuser@server-ip

# 4) Harden sshd
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo nano /etc/ssh/sshd_config
# Set: PermitRootLogin no, PubkeyAuthentication yes, PasswordAuthentication no (after testing)
sudo sshd -t && sudo systemctl reload sshd

# 5) Optional: change port and update firewall
# Edit sshd_config: Port 2222
sudo ufw allow 2222/tcp && sudo ufw delete allow 22/tcp && sudo ufw reload
# Test: ssh -p 2222 adminuser@server-ip

Warum Ihre Wahl des Hostings wichtig ist

und geschützt SSH Es geht nicht nur um Befehle – es geht um Wiederherstellungsoptionen und Zuverlässigkeit. Mit YouStable VPS, SSH Die Software ist vorinstalliert, Firewall-Vorlagen sind verfügbar und Sie erhalten eine integrierte Browserkonsole, um Konfigurationsprobleme zu beheben, falls Sie sich aussperren. Snapshots und der 24/7-Support helfen Ihnen, Änderungen sicher zu testen, ohne Ausfallzeiten zu riskieren.

Best-Practice-Checkliste

  • Installieren Sie OpenSSH und sshd aktivieren.
  • Öffne SSH Port sowohl in der OS-Firewall als auch in den Cloud-Sicherheitsgruppen.
  • ED25519-Schlüssel einrichten; Anmeldung testen.
  • Deaktivieren Sie die Root-Anmeldung und anschließend die Passwortanmeldung.
  • Begrenzen Sie die Anzahl der Authentifizierungsversuche und inaktiven Sitzungen.
  • Aktivieren Sie Fail2ban und installieren Sie regelmäßig Updates.
  • Benutzer/IPs einschränken; erwägen Sie, den Standardport zu ändern.
  • Dokumentieren Sie Ihre Konfiguration und erstellen Sie eine sichere Sicherungskopie.

Häufig gestellte Fragen

Welchen Port sollte ich verwenden für SSH?

Port 22 ist Standard und wird allgemein unterstützt. Die Verwendung eines höheren, zufällig gewählten Ports reduziert zwar die Anzahl der Meldungen durch automatische Scans, ersetzt aber nicht die Authentifizierung und die Sicherheitsmaßnahmen. Wenn Sie den Port ändern, aktualisieren Sie Ihre Firewalls und Sicherheitsgruppen und dokumentieren Sie den neuen Port.

Wie ändere ich die SSH Sicherer Hafen?

Fügen Sie in der Datei `/etc/ssh/sshd_config` eine neue Port-Zeile hinzu, erlauben Sie diesen Port in Ihrer Firewall und der Sicherheitsgruppe Ihres Providers, überprüfen Sie die Verbindung mit `sshd -t`, laden Sie den SSH-Dienst neu und testen Sie eine neue Sitzung mit `ssh -p neuerPort Benutzer@Server`. Entfernen Sie Port 22 erst, nachdem Sie bestätigt haben, dass der Zugriff über den neuen Port funktioniert.

Wie kann ich den Root-Login deaktivieren, aber trotzdem Administratorzugriff erhalten?

Erstellen Sie einen Benutzer ohne Root-Rechte, fügen Sie ihn der Gruppe „sudo“ oder „wheel“ hinzu und prüfen Sie, ob Sie „sudo“ ausführen können. Setzen Sie anschließend „PermitRootLogin no“ in der Datei „sshd_config“ und starten Sie den Dienst neu. SSH Als Nicht-Root-Benutzer anmelden und bei Bedarf mit sudo die Rechte erhöhen.

Wie kann ich das erlauben? SSH Nur für bestimmte Nutzer?

Verwenden Sie „AllowUsers user1 user2“ oder „AllowGroups sshusers“ in der Datei /etc/ssh/sshd_config und laden Sie anschließend den SSH-Dienst neu. Ergänzen Sie dies mit Firewall-Regeln, um den Zugriff anhand der IP-Adresse einzuschränken und so eine zusätzliche Kontrollebene zu schaffen.

Wie schütze ich mich? SSH vor roher Gewalt?

Verwenden Sie schlüsselbasierte Authentifizierung, deaktivieren Sie Passwörter, ändern Sie den Standardport, installieren Sie Fail2ban, begrenzen Sie die Anzahl der Authentifizierungsversuche (MaxAuthTries) und beschränken Sie den Zugriff nach Möglichkeit auf die IP-Adresse. Halten Sie Ihr System auf dem neuesten Stand und überwachen Sie die Protokolle mit journalctl oder einem SIEM-System auf verdächtige Aktivitäten.

Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind mit * gekennzeichnet.

Nach oben scrollen