SSH unter Ubuntu aktivieren

Führen Sie sudo apt update aus, dann sudo apt install openssh-server und sudo systemctl enable --now ssh. Ist ufw aktiv, führen Sie zusätzlich sudo ufw allow OpenSSH aus. Prüfen Sie mit ss -tln | grep ':22' und verbinden Sie sich dann von einem anderen Rechner mit ssh user@server.

Sobald der Server lauscht, übernimmt Wardterm Ihre Seite: Es bestätigt den Fingerprint und richtet Ihren Schlüssel ein. Zeigen

Aktualisiert am . Befehle in Wegwerf-Containern mit systemd ausgeführt: Ubuntu 24.04 (OpenSSH 9.6) und Ubuntu 26.04 (OpenSSH 10.2).

Server installieren und starten

sudo apt update
sudo apt install openssh-server
sudo systemctl enable --now ssh

Auf einem normalen Ubuntu-System lauscht das Paket schon unmittelbar nach der Installation. Der letzte Befehl schadet nicht, wenn es das bereits tut, und macht die Einrichtung eindeutig.

Prüfen, ob er lauscht

ss -tln | grep ':22'

Sie sollten eine Zeile für 0.0.0.0:22 und eine für [::]:22 sehen. Die Adresse zum Verbinden finden Sie so:

hostname -I

Warum ssh.service inaktiv sein kann, obwohl SSH funktioniert

Seit Ubuntu 22.10, einschließlich 24.04 und 26.04, hält standardmäßig eine Unit namens ssh.socket den Port 22 und startet ssh.service bei der ersten Verbindung. Direkt nach der Installation oder nach sudo systemctl stop ssh sehen Sie daher Folgendes und können sich trotzdem verbinden:

systemctl is-active ssh.socket    # active
systemctl is-active ssh           # inactive until the first connection

Das ist normal. Stoppen Sie den Dienst, während der Socket aktiv ist, warnt systemd, dass die auslösende Unit noch aktiv ist, und die nächste Verbindung startet ihn wieder. Um SSH wirklich zu stoppen, stoppen Sie beides:

sudo systemctl disable --now ssh ssh.socket

Wenn Sie das ältere Verhalten bevorzugen, bei dem sshd dauernd läuft und seinen Port bei jedem Neustart liest, schalten Sie den Socket ab:

sudo systemctl disable --now ssh.socket
sudo systemctl enable --now ssh

Debian macht es standardmäßig umgekehrt: Unter Debian 13 ist ssh.service aktiviert und ssh.socket deaktiviert. Auch Ubuntu 22.04 nutzt den einfachen Dienst.

Firewall öffnen

ufw ist bei den meisten Installationen standardmäßig aus. Prüfen Sie es zuerst:

sudo ufw status

Steht dort Status: active, erlauben Sie SSH:

sudo ufw allow OpenSSH

Steht dort inactive und möchten Sie es einschalten, fügen Sie zuerst die Regel hinzu und aktivieren es danach. Die Reihenfolge ist wichtig, siehe SSH in ufw erlauben. Ein Cloud-Server hat meist eine zweite Firewall im Panel des Anbieters, die Sie dort öffnen.

Anmeldung testen

Von einem anderen Rechner:

ssh user@server

Die erste Verbindung zeigt den Fingerprint des Servers und bittet um Bestätigung. Scheitert die Verbindung, behandeln diese Anleitungen die häufigen Meldungen: Connection refused und Connection timed out.

Was dieser Fingerprint ist und wo er gespeichert wird, erklärt known_hosts und SSH-Host-Fingerprints.

Die Konfiguration ändern

Die Einstellungen stehen in /etc/ssh/sshd_config und in den Dateien unter /etc/ssh/sshd_config.d/. Eine Datei in diesem Ordner hat Vorrang vor der Hauptdatei, und manche Images bringen eine mit, die die Passwort-Anmeldung festlegt, prüfen Sie also, was wirklich gilt:

sudo sshd -T | grep -i -E '^(port|passwordauthentication) '

Prüfen Sie nach einer Änderung die Syntax und starten Sie dann neu:

sudo sshd -t
sudo systemctl restart ssh

Ein neuer Port oder eine neue Listen-Adresse ist anders, weil auch der Socket neu aufgebaut werden muss. Siehe SSH-Port ändern.

Als Nächstes sorgen Sie für einen Schlüssel statt eines Passworts: Schlüssel erzeugen, dann die Passwort-Anmeldung abschalten.

Fragen

Ist SSH unter Ubuntu standardmäßig installiert?

Der Client meist ja. Der Server hängt davon ab, wie das System installiert wurde: Ubuntu Desktop enthält ihn nicht, und der Server-Installer fragt danach. Prüfen Sie mit dpkg -l openssh-server.

Was ist der Unterschied zwischen ssh und sshd unter Ubuntu?

sshd ist das Serverprogramm. Unter Ubuntu heißt seine systemd-Unit ssh, und sshd ist ein Alias, der beim Aktivieren der Unit entsteht, verwenden Sie in Befehlen also ssh.

Quellen

Mehr zu SSH auf jedem System

Alle Anleitungen