SSH-Zugang für Linux-Server sicher einrichten
Wer einen Linux-Server selbst verwaltet, braucht einen verlässlichen Administrationszugang. Über SSH lassen sich Dienste einrichten und Fehler beheben. Planen Sie dabei auch den verlorenen Laptop, einen Mitarbeiterwechsel und eine fehlerhafte Konfiguration ein. Die folgende Reihenfolge hilft bei der Einrichtung mit OpenSSH; prüfen Sie Befehle und Dienstnamen für Ihre Distribution.
Zuerst einen zweiten Zugangsweg prüfen
Prüfen Sie vor Änderungen, wie Sie den Server bei einem SSH-Ausfall erreichen, etwa über eine vorhandene Web-Konsole. Testen Sie den Zugang tatsächlich und halten Sie die bisherige SSH-Sitzung während der Umstellung offen. Sichern Sie die aktuelle Konfiguration und legen Sie fest, wer sie im Fehlerfall zurücksetzen kann.
Richten Sie für jede administrierende Person ein eigenes Benutzerkonto ein. Unter Ubuntu können berechtigte Benutzer einzelne Verwaltungsaufgaben mit sudo ausführen. Prüfen Sie diese Berechtigung in einer neuen Sitzung, bevor Sie den bisherigen Root-Zugang einschränken. Ein geteilter Zugang erschwert später die Zuordnung und den gezielten Entzug von Berechtigungen.
Schlüssel erzeugen und geschützt aufbewahren
Ein SSH-Schlüsselpaar besteht aus einem privaten und einem öffentlichen Teil. Erzeugen Sie es auf dem eigenen Rechner; mit einem passenden OpenSSH-Client ist beispielsweise ssh-keygen -t ed25519 möglich. Wählen Sie einen neuen Dateinamen, falls bereits ein Schlüssel existiert, und schützen Sie den privaten Schlüssel für interaktive Anmeldungen mit einer starken Passphrase. Die .pub-Datei enthält den öffentlichen Teil. Der private Schlüssel gehört weder in ein Support-Ticket noch auf den Zielserver.
Hinterlegen Sie den öffentlichen Schlüssel beim vorgesehenen Benutzer, üblicherweise in dessen ~/.ssh/authorized_keys. Unter Ubuntu kann ssh-copy-id dabei helfen. Kontrollieren Sie Eigentümer und Dateirechte nach der Distributionsanleitung. Testen Sie anschließend eine neue Verbindung mit genau diesem Benutzer und Schlüssel. Automatische Backup- oder Deployment-Zugänge sollten eigene, auf ihren Zweck begrenzte Berechtigungen erhalten.
Auch die Identität des Servers prüfen
Beim ersten Verbindungsaufbau zeigt OpenSSH normalerweise den Fingerabdruck des Server-Schlüssels. Vergleichen Sie ihn über einen bereits vertrauenswürdigen Weg, beispielsweise mit der Ausgabe an der Serverkonsole. Ihr eigener Anmeldeschlüssel und der Server-Schlüssel haben unterschiedliche Aufgaben. Bestätigen Sie eine Warnung über einen geänderten Server-Schlüssel nicht ungeprüft: Klären Sie zuerst, ob etwa eine Neuinstallation stattgefunden hat, und vergleichen Sie den neuen Fingerabdruck.
Anmeldeverfahren schrittweise einschränken
Erst nach erfolgreichem Schlüssel- und sudo-Test sollten Sie Passwortanmeldungen und direkte Root-Anmeldungen einschränken. OpenSSH steuert diese über PasswordAuthentication und PermitRootLogin. Keyboard-interactive ist ein separates Verfahren und kann beispielsweise Teil einer Mehrfaktor-Anmeldung sein. Prüfen Sie deshalb das gesamte Anmeldekonzept, statt einzelne Optionen blind zu übernehmen. Berücksichtigen Sie auch bestehende Wartungs- und Automatisierungszugänge.
Beachten Sie eingebundene Konfigurationsdateien: Unter Ubuntu können Einträge in sshd_config.d Vorrang vor der Hauptdatei haben. Prüfen Sie vor dem Aktivieren mit sudo sshd -t die Konfiguration. Mit sudo sshd -T sehen Sie die wirksamen Einstellungen; bei benutzer- oder adressabhängigen Match-Regeln ist zusätzlich ein passender Testkontext über -C erforderlich. Aktivieren Sie Änderungen erst nach erfolgreicher Prüfung gemäß Ihrer Distributionsanleitung und testen Sie sofort eine weitere Anmeldung. Die alte Sitzung bleibt bis zum Abschluss offen.
Zugänge auch im Alltag pflegen
Bei NUXOA stehen Linux-Server mit SSH-Root-Zugriff für selbst verwaltete Anwendungen zur Verfügung. Wenn Sie Unterstützung beim Betrieb benötigen, klären Sie im Angebot, wer Benutzer, Schlüssel, Updates und Notfallzugänge betreut. So bleibt auch nach der Ersteinrichtung klar, wer Änderungen durchführen und prüfen soll.
- Dokumentieren Sie pro Zugang die verantwortliche Person, den Zweck und die hinterlegten öffentlichen Schlüssel.
- Entfernen Sie nicht mehr benötigte Schlüssel bei Geräte- oder Mitarbeiterwechseln. Ein gesperrtes Benutzerpasswort allein verhindert unter Ubuntu nicht automatisch eine SSH-Anmeldung mit Schlüssel.
- Testen Sie nach Änderungen sowohl den erlaubten Zugang als auch die beabsichtigte Ablehnung alter Verfahren. Prüfen Sie außerdem, ob notwendige Automatisierungen weiter funktionieren.