In diesem kurzen Tutorial installieren und aktivieren wir den SSH-Server unter Linux Ubuntu. SSH steht für Secure Shell und bezeichnet ein kryptografisches Netzprotokoll für den Aufbau einer sicheren Remote-Sitzung über einen SSH-Client.
Standardgemäß wird der Ubuntu-SSH-Server (OpenSSH) bei der Installation von Linux Ubuntu 22.04 während des Installationsprozesses auf deinem Server automatisch mit installiert. Es ist jedoch möglich, dass du OpenSSH bei der Installation abgewählt hast oder eine sehr leichtgewichtige Version der Distribution ohne Extras auf deinem Hostsystem installiert worden ist. Der SSH-Service muss nach einer Neuinstallation immer aktiviert und konfiguriert werden.
Was wir in diesem Guide erledigen (Schritt-für-Schritt):
- Wir installieren einen SSH-Server mit OpenSSH (Open-Source-Suite)
- Wir aktivieren den SSH-Service
- Wir schalten die Ports in der Firewall (UFW) für den Sitzungsaufbau mit SSH frei
- Wir konfigurieren die SSH-Konfigurationsdatei und erlauben einen Verbindungsaufbau
- Wir stellen eine sichere Sitzung zwischen einem SSH-Client und dem SSH-Server her
Inhaltsverzeichnis: Installation und Konfiguration eines Ubuntu-SSH-Servers mit OpenSSH
SSH unter Linux Ubuntu 22.04 aktivieren und freischalten: OpenSSH über das Terminal installieren (Schritt 1.)
Im ersten Schritt dieser Anleitung installieren wir über das Terminal (Shell) einen SSH-Server unter Ubuntu und im zweiten Schritt konfigurieren wir einen Zugriff für den Sitzungsaufbau über das SSH-Protokoll. Beginnen wir zunächst mit der Installation eines OpenSSH-Servers über die Kommandozeile.
Verwendest du eine grafische Benutzeroberfläche? Dann kannst du das Terminal mit der folgenden Tastenkombination öffnen: [STRG] + [ALT] + [T]. Falls du Linux Ubuntu servertypisch ohne GUI verwendest, kannst du direkt auf der Shell mit der Installation beginnen.
Installation von OpenSSH über die Shell:
sudo apt install openssh-server
Hinweis: Sollte SSH bereits auf deinem Linux-Ubuntu-Hostsystem installiert sein, kann der Befehl nichts Schlimmes anrichten. Du erhältst lediglich eine kurze Rückmeldung, dass ein OpenSSH-Server bereits auf dem System installiert ist.
Ubuntu-SSH-Server: Überprüfe und aktiviere den SSH-Dienst (Schritt 2.)
Nachdem OpenSSH erfolgreich auf deinem Ubuntu-Hostsystem installiert worden ist, muss der zuständige Service in der Regel noch aktiviert werden. Das ist notwendig, damit SSH-Clientprogramme eine Sitzung mit dem Server aufbauen können. Dafür muss der SSH-Daemon auf deinem Server ausgeführt werden. Überprüfe mit dem folgenden Befehl, ob der Service bereits aktiviert ist und ordnungsgemäß ausgeführt wird.
SSH-Daemon überprüfen:
sudo systemctl status ssh
Wie auf dem beigefügten Screenshot ersichtlich, sollte neben der Zeile: „Active:“, der Eintrag: „active (running)“ in einem grünen Schriftzug ausgegeben werden. Sofern der SSH-Service bereits auf deinem Linux-Ubuntu-Hostsystem ausgeführt wird.
Falls der Dienst noch nicht läuft und der automatische Start nicht aktiviert wurde, können diese beiden Befehle eingegeben werden, um den SSH-Service manuell zu starten.
SSH-Dienst bei Systemstart oder Neustart ausführen:
sudo systemctl enable ssh
SSH-Dienst jetzt aktivieren:
sudo systemctl start ssh
Überprüfe jetzt erneut, ob der Dienst ordnungsgemäß auf deinem Ubuntu-Server ausgeführt wird. Verwende dafür wieder den obigen systemctl-Befehl, um den SSH-Daemon zu überprüfen. Fahre im nächsten Abschnitt mit der Einrichtung fort.
Die Ubuntu-Firewall (UFW) für den SSH-Port konfigurieren (Schritt 3.)
Auf Computern und Serverhosts mit installiertem Linux Ubuntu werkelt für gewöhnlich die Ubuntu-Firewall (UFW). Die Firewall würde im aktuellen Zustand alle eingehenden Anfragen einfach blockieren. So wäre auch keine erfolgreiche Verbindung über SSH von einem Client aus möglich.
Damit wir uns also mit dem Ubuntu-System über SSH verbinden können, muss der Port des Netzprotokolls unbedingt freigegeben werden. Der standardmäßig verwendete Port von SSH (TCP-Port 22) kann mit einem einzigen Befehl über die Kommandozeile zugelassen werden.
Kommunikation von SSH (Port 22) über die UFW freischalten:
sudo ufw allow ssh
Ein Zugriff über SSH auf dem Linux Ubuntu-SSH-Server konfigurieren (Schritt 4.)
Der SSH-Daemon liest bestimmte Zeilen und Parameter aus der Konfigurationsdatei (sshd_config) aus. Die Datei enthält Attribute und Argumente, die bestimmen, wer eine Sitzung über das Netzprotokoll mit dem Ubuntu-System via SSH aufbauen kann und wer nicht. Der Inhalt der SSHD-Konfiguration kann den eigenen Vorstellungen nach angepasst werden. Standardgemäß kann sich niemand mit dem SSH-Server verbinden, ohne dass die Datei z.B. mit dem vi-Editor oder Nano bearbeitet wird.
Vielleicht hast du schon einmal von einem SSH-Client einen Sitzungsaufbau mit deinem Ubuntu-SSH-Server versucht und die folgende Meldung erhalten: „SSH Acces denied“. Dann fehlen ganz einfach die Berechtigungen für den Zugriff. Möchtest du dem Root-Benutzer einen Zugriff über einen beliebigen SSH-Client genehmigen? Dann kannst du wie folgt vorgehen.
Verwende den Nano-Editor und konfiguriere die Datei „sshd_config“ wie angegeben:
sudo nano /etc/ssh/sshd_config
Hinweis: Häufig benötigen wir nur zeitweise Root-Berechtigungen am System, um neue Software zu implementieren und Installationen vorzunehmen. Sollte dein Server über das Internet erreichbar oder das lokale Netzwerk nicht vertrauensvoll genug sein, sollte diese Einstellung nur temporär Anwendung finden und nach der erfolgreichen Installation wieder deaktiviert werden. Dann empfiehlt es sich, einen neuen Benutzer für den Zugriff über SSH ohne Root-Berechtigungen anzulegen, da es für die Sicherheit deines Linux-Servers erhebliche Vorteile haben kann.
SSH-Zugriff für den Root-Account auf deinem Ubuntu-Server genehmigen:
Suche in der nun geöffneten Datei für die SSH-Konfigurationen nach dem im Beispiel ersichtlichen Bereich „#Authentication:“. Entferne die Kommentarfunktion (Raute) vor den angegebenen Zeilen:
LoginGraceTime 200
PermitRootLogin yes
StrictMode yes
Speichere die Änderungen mit der Tastenkombination (STRG + S) ab und verlasse den Nano-Editor wieder (STRG + X). Jetzt muss der SSH-Service neu gestartet werden, damit die Änderungen wirksam werden und der Verbindungsaufbau als Root zulässig wird.
SSH-Service neu starten:
sudo systemctl restart ssh
Die Installation und Einrichtung von deinem SSH-Server unter Linux Ubuntu 22.04 ist jetzt abgeschlossen. Für den Fall, dass du noch nie zuvor mit einem SSH-Client gearbeitet hast, zeige ich dir im nachfolgenden Abschnitt, wie du eine Sitzung herstellen kannst und welche kostenlosen Clients sich dafür anbieten.
Eine Verbindung von einem Client mit deinem Ubuntu-Server herstellen (Schritt 5.)
Um eine Remote-Sitzung mit deinem SSH-Server herzustellen, gibt es je nach Plattform und Betriebssystem deines Clients unterschiedliche Software-Lösungen. Ein SSH-Client ist per se nicht zwingend erforderlich, da Linux-Clients sich über die Shell mit einem einzigen Befehl mit dem Server verbinden können. Das kann mit dem nächsten Befehl erfolgen.
Von einem Linux-Client über das Terminal eine SSH-Sitzung mit dem Ubuntu-SSH-Server herstellen:
ssh root@192.168.178.50
Möchtest du dich von einem Windows-Client aus mit deinem Ubuntu-Server über das SSH-Netzprotokoll verbinden, kannst du die PowerShell bzw. das Windows-Terminal für den Sitzungsaufbau verwenden. Der Befehl sieht unter Microsoft-Betriebssystemen wie folgt aus.
Von einem Windows-Computer eine SSH-Sitzung zum Ubuntu-SSH-Server herstellen:
ssh root@192.168.178.50
Nachdem du den Befehl abgesendet hast, musst du dich nur noch mit deinem Passwort am Hostsystem anmelden. Linux und Microsoft verwenden bei ihren Konsolen im Übrigen denselben Befehl.
Welche SSH-Clients sind empfehlenswert?
Auch wenn ein SSH-Client nicht erforderlich ist, haben sich einige Software-Lösungen in der Praxis als sehr nützlich und bequem erwiesen. Verwalten wir mehrere Server mit verschiedenen IP-Adressen und Benutzerkonten, kann es sehr viel Arbeitsaufwand mit sich bringen, wenn wir uns auf jedem einzelnen Server manuell über SSH verbinden möchten.
Da bieten sich SSH-Clients mit speicherbaren Profilen an, die uns den Sitzungsaufbau erleichtern. Mir persönlich gefällt PuTTY und der Bitvise-SSH-Client von der Bedienung, der Benutzeroberfläche und von der Zuverlässigkeit her am besten.
Möchtest du einen dieser beiden Clients auf deinem Computer installieren?
Download: PuTTY
Download: Bitwise-SSH-Client