Aktivierung von SSH unter Ubuntu: Schritt-für-Schritt-Anleitung

Foto des Autors

By Jan

SSH-Server unter Ubuntu installieren

Installation des SSH-Servers

Um den SSH-Server unter Ubuntu zu installieren, öffne ein Terminal und führe den folgenden Befehl aus:

sudo apt update && sudo apt install openssh-server

Durch diesen Befehl wird der SSH-Server installiert und automatisch als Dienst gestartet.

Konfiguration des SSH-Servers

Nach der Installation kannst du den SSH-Server konfigurieren, indem du die Datei /etc/ssh/sshd_config bearbeitest. Du kannst diese Datei mit einem Texteditor wie Nano bearbeiten:

sudo nano /etc/ssh/sshd_config

In der Datei kannst du verschiedene Optionen konfigurieren, wie z. B. den SSH-Port, die Authentifizierungsmethoden und die Protokollebene. Weitere Informationen zu den Konfigurationsoptionen findest du in der SSHD-Konfigurationsdokumentation: https://manpages.ubuntu.com/manpages/bionic/man5/sshd_config.5.html

SSH-Server-Konfiguration

Nachdem du den SSH-Server auf deinem Ubuntu-System installiert hast, ist es wichtig, ihn für einen sicheren und reibungslosen Betrieb zu konfigurieren. Hier sind die wichtigsten Konfigurationsschritte:

SSH-Daemon-Konfigurationsdatei

Die SSH-Serverkonfigurationsdatei befindet sich in /etc/ssh/sshd_config. Du kannst sie mit einem Texteditor wie nano oder vi bearbeiten.

Konfigurationsoptionen

Die sshd_config-Datei enthält zahlreiche Konfigurationsoptionen. Hier sind einige der wichtigsten:

  • Port: Lege den Port fest, auf dem der SSH-Server lauscht. Der Standardwert ist 22.
  • ListenAddress: Gib die IP-Adresse(n) an, auf denen der SSH-Server lauschen soll. Die Standardeinstellung ist 0.0.0.0 (alle Adressen).
  • Protocol: Wähle das SSH-Protokoll aus, das der Server unterstützt. SSHv2 ist das empfohlene Protokoll.
  • Ciphers: Lege die Verschlüsselungsalgorithmen fest, die der Server verwendet. AES-256-CBC ist eine sichere Option.
  • MACs: Konfiguriere die Nachrichtenauthentifizierungscodes (MACs), die der Server verwendet. HMAC-SHA256 ist eine sichere Option.
  • KeyRegenerationInterval: Gib das Intervall an, in dem der Server seine SSH-Hostschlüssel neu generiert. Der Standardwert ist 14 Tage.

Konfigurationsbeispiel

Hier ist ein Beispiel für eine grundlegende sshd_config-Datei:

Port 22
Protocol 2
Ciphers aes256-cbc
MACs hmac-sha256
KeyRegenerationInterval 14d

Änderungen speichern und neu starten

Nachdem du deine Konfigurationen vorgenommen hast, speichere die Datei und starte den SSH-Dienst neu mit:

sudo systemctl restart ssh

Zusätzliche Konfigurationen

Zusätzlich zu den oben genannten Konfigurationen kannst du auch Folgendes in Erwägung ziehen:

  • Root-Login deaktivieren: Deaktiviere den Root-Login über SSH, um die Sicherheit zu erhöhen.
  • Benutzerauthentifizierung einschränken: Beschränke die Benutzerauthentifizierungsmethoden, um Brute-Force-Angriffe zu verhindern.
  • Port-Weiterleitung aktivieren: Aktiviere die Port-Weiterleitung, um auf Dienste hinter einer Firewall zuzugreifen.
  • Dateiübertragung konfigurieren: Konfiguriere die SFTP-Dateiübertragung für eine sichere Dateiübertragung.

SSH-Port ändern

Der Standardport für SSH-Verbindungen ist 22. Aus Sicherheitsgründen empfiehlt es sich jedoch, diesen Port zu ändern, um Brute-Force-Angriffe zu erschweren.

Schritte zum Ändern des SSH-Ports

  1. SSH-Konfigurationsdatei bearbeiten:
    Öffne die SSH-Konfigurationsdatei /etc/ssh/sshd_config mit einem Texteditor wie nano oder vim.
sudo nano /etc/ssh/sshd_config
  1. Zeile für den Port suchen:
    Suche nach der Zeile, die mit Port beginnt. Der Standardwert sollte 22 sein.

  2. Portnummer ändern:
    Ändere die Portnummer zu einem anderen Wert, der nicht standardmäßig verwendet wird. Es wird empfohlen, einen Port oberhalb von 1024 zu wählen.

Zum Beispiel:

Port 443
  1. Konfigurationsdatei speichern:
    Speichere die Änderungen und beende den Editor.

  2. SSH-Dienst neu starten:
    Starte den SSH-Dienst neu, damit die neuen Einstellungen wirksam werden:

sudo systemctl restart ssh

Überlegungen zur Portänderung

  • Sicherheit: Das Ändern des SSH-Ports trägt zur Erhöhung der Sicherheit bei, indem es Brute-Force-Angriffe erschwert.
  • Firewall-Einstellungen: Stelle sicher, dass die Firewall den neuen Port zulässt.
  • Kundenspezifische Konfiguration: Wenn du dich mit einem Remote-Server verbindest, musst du den benutzerdefinierten Port in der SSH-Konfiguration des Clients angeben.
  • VPN-Verbindungen: Wenn du eine VPN-Verbindung verwendest, musst du beim Herstellen einer Verbindung zum VPN den benutzerdefinierten SSH-Port konfigurieren.

Verbindung zum SSH-Server testen

Nachdem du den SSH-Server konfiguriert hast, musst du eine Verbindung testen, um sicherzustellen, dass er ordnungsgemäß funktioniert. Hier sind die Schritte zum Testen der Verbindung:

Verbindung über die Kommandozeile

ssh <benutzername>@<server-ip-adresse>

Ersetze <benutzername> durch deinen Benutzernamen auf dem Server und <server-ip-adresse> durch die IP-Adresse oder den Hostnamen des Servers. Du wirst möglicherweise aufgefordert, das Passwort deines Benutzers einzugeben.

Verbindung über einen GUI-Client

Du kannst auch einen GUI-Client wie PuTTY oder MobaXterm verwenden, um eine Verbindung zum SSH-Server herzustellen.

  1. Öffne den Client und gib die IP-Adresse oder den Hostnamen des Servers in das Feld "Host" ein.
  2. Gib deinen Benutzernamen in das Feld "Benutzername" ein.
  3. Klicke auf "Verbinden" und gib dein Passwort ein, wenn du dazu aufgefordert wirst.

Verbindungsprobleme beheben

Wenn du Probleme beim Herstellen einer Verbindung zum SSH-Server hast, kannst du Folgendes überprüfen:

  • Stelle sicher, dass der SSH-Server aktiv ist.
  • Überprüfe, ob du den richtigen Benutzernamen und das richtige Passwort verwendest.
  • Stelle sicher, dass die Firewall den SSH-Port (Standard 22) nicht blockiert.
  • Überprüfe, ob der SSH-Dienst auf deinem lokalen Computer aktiviert ist.
  • Versuche, eine Verbindung von einem anderen Computer oder Gerät herzustellen.

Wenn du immer noch Probleme hast, kannst du die SSH-Konfigurationsdatei /etc/ssh/sshd_config auf dem Server überprüfen oder dich an einen Systemadministrator wenden.

Sicherheitsüberlegungen bei SSH-Verbindungen

Als du SSH auf deinem Ubuntu-System aktivierst, öffnest du einen Remotezugriffspunkt für das System. Dies erfordert sorgfältige Sicherheitsmaßnahmen, um unbefugten Zugriff und Sicherheitsverletzungen zu verhindern. Nachfolgend sind einige wichtige Sicherheitsüberlegungen zu beachten:

Sichere Verbindung

  • Authentifizierung mit Schlüsseln: Die Verwendung von SSH-Schlüsseln für die Authentifizierung anstelle von Passwörtern ist eine sichere Methode, da Schlüssel nicht geknackt werden können.
  • Zwei-Faktor-Authentifizierung (2FA): Aktiviere 2FA für zusätzliche Sicherheit, sodass neben dem SSH-Schlüssel ein Einmalpasswort erforderlich ist.

Port- und IP-Adressbeschränkungen

  • Ändere den SSH-Port: Der Standard-SSH-Port 22 ist anfällig für Angriffe. Ändere den Port, um die Wahrscheinlichkeit zu verringern, dass Angreifer nach Schwachstellen suchen.
  • Beschränke IP-Adressen: Beschränke den Zugriff auf den SSH-Server auf bestimmte IP-Adressen, die du autorisiert hast.

Sicheres Protokoll

  • Verwende SSHv2: Verwende SSHv2, das neuere und sicherere Version des SSH-Protokolls, das stärkere Verschlüsselungsalgorithmen bietet.
  • Deaktiviere alte Protokolle: Deaktiviere veraltete SSH-Protokolle wie SSHv1, die anfällig für Sicherheitslücken sind.

Überwachung und Protokollierung

  • Überwache SSH-Verbindungen: Verwende Tools wie Fail2ban, um verdächtige Anmeldeversuche zu überwachen und wiederholte Zugriffe von nicht autorisierten IP-Adressen zu blockieren.
  • Protokolliere SSH-Aktivitäten: Aktiviere die Protokollierung auf dem SSH-Server, um Ereignisse wie Anmeldeversuche, Befehle und Änderungen zu verfolgen.

Zusätzliche Maßnahmen

  • Software auf dem neuesten Stand: Stelle sicher, dass der SSH-Server und das Betriebssystem auf dem neuesten Stand sind, um bekannte Sicherheitslücken zu beheben.
  • Überprüfe SSH-Konfigurationsdateien: Überprüfe regelmäßig die SSH-Konfigurationsdateien auf verdächtige Änderungen oder fehlende Sicherheitseinstellungen.

Fehlerbehebung von SSH-Verbindungsproblemen

Beim Einrichten oder Verwenden einer SSH-Verbindung kannst du auf verschiedene Probleme stoßen. Hier sind einige häufige Probleme und ihre Lösungen:

SSH-Server ist nicht aktiviert

  • Überprüfe, ob der SSH-Server (sshd) aktiv ist: systemctl status sshd
  • Wenn der Server nicht aktiv ist, starte ihn: sudo systemctl start sshd

Falscher Port

  • Stelle sicher, dass du den richtigen SSH-Port verwendest. Standardmäßig ist dies Port 22. Wenn du den Port geändert hast, verwende den neuen Port.

Firewall blockiert SSH

  • Überprüfe deine Firewall-Einstellungen, um sicherzustellen, dass SSH-Verbindungen nicht blockiert werden.
  • Du kannst die Firewall vorübergehend deaktivieren, um zu testen, ob dies das Problem löst: sudo ufw disable

Authentifizierungsprobleme

  • Überprüfe deinen Benutzernamen und dein Passwort.
  • Wenn du Schlüsselbasierte Authentifizierung verwendest, stelle sicher, dass der private Schlüssel korrekt ist und dass die Berechtigungen korrekt gesetzt sind.
  • Setze dein Passwort zurück, wenn du es vergessen hast.

Verbindung abgelehnt

  • Überprüfe, ob der SSH-Server aktiv ist und auf dem richtigen Port lauscht.
  • Der SSH-Server kann durch zu viele fehlgeschlagene Anmeldeversuche gesperrt werden. Warte eine Weile und versuche es erneut.

Langsame Verbindung

  • Überprüfe deine Netzwerkverbindungsgeschwindigkeit.
  • Komprimierung kann die Verbindungsgeschwindigkeit verbessern: Compression yes in der /etc/ssh/sshd_config-Datei.

Fehlerbehebung bei fortgeschrittenen Problemen

  • Überprüfe die SSH-Server-Protokolldateien /var/log/auth.log und /var/log/syslog auf Fehlermeldungen.
  • Nutze Tools wie ssh -v oder tcpdump, um den Datenverkehr zu überwachen und mögliche Probleme zu identifizieren.
  • Erwäge, die Hilfe eines erfahrenen Systemverwalters in Anspruch zu nehmen, wenn du die Fehler nicht selbst beheben kannst.

Schreibe einen Kommentar