Ubuntu / SSH-Ports, Root-Login und NetworkManager-Administrationsnotizen

Bevor Sie die Ubuntu-SSH-Ports oder die Authentifizierung ändern, identifizieren Sie den aktiven Dienst und die Socket-Konfiguration. Diese Hinweise behandeln Portänderungen, außergewöhnlichen Root-Zugang und die Situationen, in denen nmtui angemessen ist; halten Sie ein normales Administratorkonto, den Zugriff über Public-Key und eine Wiederherstellungskonsole verfügbar. Für die zugehörigen Bedingungen und das Verfahren siehe OpenSSH konfigurieren und Public-Key-Authentifizierung testen.

Überprüfen Sie zuerst die aktive Konfiguration

cat /etc/os-release
systemctl status ssh.socket ssh.service --no-pager
sudo ss -lntp
sudo sshd -T | grep -E "^(port|listenaddress|permitrootlogin|passwordauthentication|authenticationmethods) "

Halten Sie die aktuelle SSH-Verbindung offen und überprüfen Sie den Konsolenzugriff. Sichern Sie /etc/ssh/sshd_config und die eingebundenen Dateien. OpenSSH verwendet für viele Einstellungen den zuerst erhaltenen Wert; überprüfen Sie sshd -T -C mit dem realen Benutzer und der Quelladresse, wenn Match-Regeln gelten. Das Ändern des Ports ersetzt keine starke Authentifizierung oder Einschränkungen des Netzwerkzugriffs.

Beispiel: SSH auf Port 1980 verschieben

1980 ist ein Beispiel. Wählen Sie einen nicht verwendeten Port und erlauben Sie zuerst die Managementquelle durch die aktiven Host- und Cloud-Firewalls. Wenn UFW verwendet wird, ersetzen Sie die Dokumentationsadresse 192.0.2.10 unten durch Ihre echte Managementadresse. Für die zugehörigen Bedingungen und das Vorgehen siehe Zugriff auf Management und Dienste mit UFW einschränken.

sudo ufw allow from 192.0.2.10 to any port 1980 proto tcp

Ändern Sie den Port in der aktiven SSH-Konfiguration unter Berücksichtigung von Includes und Match-Vorrang, anstatt konkurrierende Werte anzuhängen. Überprüfen Sie die Syntax, bevor Sie sie anwenden.

Port 1980
sudo sshd -t

Wenn ssh.socket aktiv ist, kann ein Neustart nur des Dienstes dazu führen, dass der abgehörte Port unverändert bleibt. Überprüfen Sie die generierten Socket-Einstellungen, die in Ubuntu 24.04 und später verwendet werden. Wenn eine explizite Überschreibung erforderlich ist, verwenden Sie sudo systemctl edit ssh.socket für das folgende Drop-in. Das leere ListenStream= löscht die vorherige Liste. Behalten Sie jegliche bestehende adressspezifische Bindung bei, anstatt sie durch dieses port-only Beispiel zu ersetzen.

[Socket]
ListenStream=
ListenStream=1980

Wenden Sie das Folgende nur für die bestätigte socket-basierte Konfiguration an. Bei einem rein dienstbasierten System aktivieren Sie keinen neuen Socket; laden Sie den laufenden ssh.service nach der Validierung neu oder starten Sie ihn neu.

sudo systemctl daemon-reload
sudo systemctl restart ssh.socket ssh.service
sudo ss -lntp

Von einem separaten Client, testen Sie ssh -p 1980 user@server. Behalten Sie die alte Portregel und die aktuelle Verbindung bei, bis der Listener, das neue Login und sudo alle funktionieren. Bei einem Fehlschlag stellen Sie nur die SSH-Einstellungen und die in dieser Aufgabe geänderte Socket-Überschreibung von der Konsole wieder her, überprüfen Sie und wenden Sie sie an und stellen Sie zuerst den Zugriff auf dem ursprünglichen Port wieder her.

Ubuntu OpenSSH-Dokumentation erklärt Konfigurationsdateien und Validierung.

Direkten Root-Zugriff als Ausnahme behandeln

Verwenden Sie ein normales Konto mit sudo als primären Verwaltungspfad. Wenn direkter Root-Zugriff wirklich erforderlich ist, bereiten Sie einen öffentlichen Schlüssel vor und überprüfen Sie die wirksame root-spezifische Richtlinie.

PermitRootLogin prohibit-password
PubkeyAuthentication yes
AuthenticationMethods publickey

Diese Werte sind keine Anweisung, die globale Authentifizierungsrichtlinie einer Organisation zu überschreiben. Platzieren Sie root-only-Regeln innerhalb der bestehenden Match-Struktur, während Sie die Authentifizierung anderer Administratoren beibehalten. prohibit-password allein schließt nicht jede nicht-passwortbasierte Methode aus; überprüfen Sie AuthenticationMethods, wenn ausschließlich Zugriff per Public-Key erforderlich ist. Der Kontostatus, die Berechtigungen der Schlüsseldatei und PAM können zusätzliche Einschränkungen auferlegen.

PermitRootLogin yes ist keine alleinige Garantie für Passwortzugang: Passwortauthentifizierung, Kontosperren und PAM gelten ebenfalls. Aktivieren Sie den Root-Passwortzugang nicht als Routinebehelf. Überprüfen Sie mit sshd -t, sshd -T -C die tatsächlichen Verbindungsbedingungen, eine neue schlüsselbasierte Verbindung und sudo; stellen Sie PermitRootLogin no wieder her, wenn direkter Zugriff nicht mehr erforderlich ist.

Überprüfen Sie den Netzwerkmanager, bevor Sie nmtui verwenden.

systemctl is-active NetworkManager systemd-networkd
sudo netplan get
command -v nmtui

nmtui bearbeitet NetworkManager-Verbindungsprofile. Überprüfen Sie das Paket network-manager, wenn das Tool benötigt wird, aber die Installation führt nicht zu einer sicheren Migration einer bestehenden Netplan-/systemd-networkd-Konfiguration. Vermeiden Sie, dass zwei Manager dieselbe Schnittstelle steuern; entscheiden Sie sich für den Renderer und den Wiederherstellungsplan, bevor Sie einen Remote-Server ändern. Für die zugehörigen Bedingungen und Verfahren siehe Netplan-, NetworkManager- und networkd-Zuordnung identifizieren.