Mein P14s hat aktuell das Problem, dass immer mal wieder die GUI komplett einfriert, meist wird kurz danach ein Prozess aufgrund von Speichermangel beendet. Da wäre es doch praktisch, während so etwas passiert sich via ssh auf den Rechner von einem anderen aus verbinden zu können.Dafür brauche ich auf dem Laptop einen laufenden SSH-Server. Mit zwei Befehlen ist der schnell und einfach eingerichtet:
sudo dnf install openssh-server
sudo systemctl enable --now sshd
--now startet den Dienst jetzt. Durch enable wird er ab jetzt bei jedem Start automatisch ausgeführt.
Falls firewalld den Zugriff blockiert, zeigt firewall-cmd --get-active-zones, welche Zone zur Netzwerkverbindung gehört. Heißt sie zum Beispiel home, lässt sich SSH dort dauerhaft mit folgenden Befehlen freigeben:
sudo firewall-cmd --permanent --zone=home --add-service=ssh
sudo firewall-cmd --reload
Die IP-Adresse des Fedora-Rechners zeigt hostname -I, alternativ ip -a. Zum Test melde ich mich von einem anderen Gerät im selben Netz an, hier mit meinem Benutzerkonto und einer Beispiel-IP:
ssh patrick@192.168.1.42
Die Konfiguration des SSH-Servers erfolgt über die Dateien in /etc/ssh
sshd_config ist für den Server zuständig
PermitRootLogin steuert zum Beispiel, ob und wie sich der Benutzer root via SSH anmelden kann.
| Wert | Wirkung |
|---|---|
no | Sperrt die direkte SSH-Anmeldung mit für den Account root |
prohibit-password | Erlaubt nur die Anmeldung via SSH-Schlüssel. |
forced-commands-only | Erlaubt die Anmeldung nur per SSH-Schlüssel, für den ein fester Befehl hinterlegt ist, etwa für ein Backup. |
yes | Erlaubt die Anmeldung als root mit den sonst zugelassenen Methoden. Für eine Passwortanmeldung muss auch PasswordAuthentication aktiviert sein. |
without-password ist ein veralteter Alias für prohibit-password. OpenBSD manual pages
Das # in #PermitRootLogin prohibit-password macht die Zeile zum Kommentar. Wenn keine andere wirksame Einstellung vorliegt, gilt der OpenSSH-Standard prohibit-password. Welche Einstellung Fedora aus der Konfiguration liest, siehst du mit diesem Befehl
forced-commands-only
Ein Beispiel wäre in die Datei /root/.ssh/authorized_keys
folgendes einzutragen
restrict,command="/usr/bin/tar -czf - -C /etc/ssh sshd_config sshd_config.d" ssh-ed25519 (SSHKEY) fedora-backup
restrict sperrt folgendes
| Gesperrt | Was das praktisch bedeutet |
|---|---|
| Portweiterleitung | Der Schlüssel kann keine SSH-Porttunnel mit -L, -R oder -D aufbauen. |
| Agent-Weiterleitung | Der Server bekommt über ssh -A keinen Zugriff auf deinen lokalen SSH-Agenten. |
| X11-Weiterleitung | Grafische Programme auf dem Server können über ssh -X oder ssh -Y keine Fenster auf deinem Rechner öffnen. |
| Pseudo-Terminal (PTY) | ssh -t kann kein Terminal anfordern. Standardeingabe und -ausgabe bleiben verfügbar. |
~/.ssh/rc | SSH führt dieses benutzerspezifische Startskript bei der Anmeldung nicht aus. |
command= legt fest, welchen Befehl der Server bei Verwendung dieses Schlüssels ausführt.