SSH-Zugriff auf Ihren VPS für einen ehemaligen Mitarbeiter oder bei einem verlorenen Laptop widerrufen
Ein ehemaliger Mitarbeiter, ein Webentwickler, dessen Auftrag beendet ist, oder ein gestohlener Laptop: Wer einen SSH-Schlüssel auf Ihrem Server hatte, kann sich weiterhin anmelden. Ein normaler Schlüssel läuft nicht ab. Was Sie nicht entfernen, funktioniert weiter, auch Jahre später. So entziehen Sie den Zugriff auf Ihren VPS richtig.
Schritt 1: alle Schlüssel überprüfen
Schlüssel liegen pro Benutzer in ~/.ssh/authorized_keys, ein Schlüssel pro Zeile. Prüfen Sie dies bei jedem Benutzer, auch bei root:
sudo sh -c 'ls -l /root/.ssh/authorized_keys /home/*/.ssh/authorized_keys' sudo ssh-keygen -lf /root/.ssh/authorized_keys sudo ssh-keygen -lf /home/anna/.ssh/authorized_keys
ssh-keygen -lf zeigt für jeden Schlüssel den Fingerabdruck und den Kommentar an, zum Beispiel jan@laptop. Daran erkennen Sie, zu welcher Person oder welchem Gerät ein Schlüssel gehört. Deshalb ist es sinnvoll, jedem Schlüssel bei der Erstellung einen eindeutigen Kommentar zu geben und für jedes Gerät einen eigenen Schlüssel zu verwenden.
- Erstellen Sie eine Kopie:
sudo cp /root/.ssh/authorized_keys /root/authorized_keys.bak. - Öffnen Sie die Datei mit
sudo nanound entfernen Sie die Zeile der betreffenden Person oder des betreffenden Geräts. - Testen Sie in einem zweiten Fenster, ob Sie selbst noch Zugang haben, bevor Sie Ihre aktuelle Sitzung schließen.
Finden Sie einen Schlüssel, den Sie nicht kennen und den Sie nicht selbst hinzugefügt haben? Dann ist das ein Alarmsignal: Angreifer hinterlegen gerne einen eigenen Schlüssel, um später zurückzukehren. Folgen Sie in diesem Fall Gehackt? Die ersten Schritte.
Schritt 2: das Konto der Person
Hatte die Person einen eigenen Benutzer, sperren oder löschen Sie diesen. Prüfen Sie zuerst mit who, wer gerade angemeldet ist.
| Was | Befehl (Debian und Ubuntu) |
|---|---|
| Konto sperren, Dateien behalten | sudo usermod -L -e 1 jan |
| Laufende Sitzungen und Prozesse beenden | sudo pkill -u jan |
| Aus der Gruppe sudo entfernen | sudo gpasswd -d jan sudo |
| Konto mit Home-Verzeichnis löschen | sudo deluser --remove-home jan |
-L sperrt das Passwort, -e 1 lässt das Konto ablaufen. Nur das Passwort zu sperren hält einen SSH-Schlüssel nicht immer auf, ein abgelaufenes Konto dagegen schon. Entfernen Sie die Schlüssel trotzdem (Schritt 1). Prüfen Sie außerdem, ob in /etc/sudoers.d/ Dateien für diese Person liegen und ob unter diesem Namen geplante Aufgaben laufen: sudo crontab -l -u jan. Unter AlmaLinux und Rocky Linux heißt die Administratorgruppe wheel, und Sie löschen ein Konto mit sudo userdel -r jan.
Schritt 3: Passwörter und Geheimnisse ersetzen
Einen Schlüssel zu entfernen reicht nicht aus, wenn die Person auch Passwörter gesehen hat. Ersetzen Sie alles, was die Person kannte oder lesen konnte:
- Das root-Passwort. Dieses legen Sie im VPS-Bildschirm im Tab Einstellungen fest oder auf dem Server mit
sudo passwd root. - Passwörter von Datenbanken und Verwaltungsoberflächen sowie Tokens oder API-Schlüssel in Konfigurationsdateien und
.env-Dateien. Ersetzen Sie diese auch bei dem Dienst, der sie ausgestellt hat. - Gemeinsam genutzte Schlüssel für Backups, zum Beispiel das Passwort Ihres restic-Speichers.
Schritt 4: Ihr WebOké-Konto
Hatte die Person Zugriff auf Mein WebOké, entfernen Sie diesen ebenfalls. Mit den entsprechenden Rechten kann dort jemand zum Beispiel Ihren VPS über den VPS-Bildschirm verwalten. Gehen Sie zu Meine Administration, Tab Benutzer, und wählen Sie bei der betreffenden Person Zugriff entfernen. Siehe Zusätzlichen Benutzer zu WebOké-Konten hinzufügen: Mehrere WebOké-Konten mit einem Benutzer verwalten. Haben Sie Ihre eigenen Zugangsdaten jemals weitergegeben, ändern Sie Ihr Passwort, siehe Passwort festlegen, ändern oder vergessen.
Ein verlorener oder gestohlener Laptop
Entfernen Sie nur den Schlüssel dieses Geräts, und zwar auf jedem Server, auf dem er hinterlegt war. Erstellen Sie auf Ihrem neuen Gerät einen neuen Schlüssel und fügen Sie ihn hinzu, siehe Ihren Schlüssel auf dem Server hinterlegen und testen. Hatte der private Schlüssel keine Passphrase, gehen Sie davon aus, dass er verwendet worden sein könnte, und ersetzen Sie auch die Passwörter aus Schritt 3. Haben Sie selbst keinen Zugang mehr, verwenden Sie die Konsole im VPS-Bildschirm, siehe Kein Zugriff mehr auf Ihren VPS: was nun?
authorized_keys vor dessen Schlüssel die Option expiry-time="20261231", gefolgt von einem Leerzeichen und dem Schlüssel. Nach diesem Datum lehnt der Server den Schlüssel automatisch ab. Halten Sie außerdem in Ihrer Serverdokumentation fest, wer Zugriff hat, und überprüfen Sie dies jedes Quartal, siehe Ihren VPS sicher halten: Hardening, Lynis und ein Wartungsrhythmus.Installieren Sie den VPS später neu, tragen Sie im Feld SSH-Schlüssel nur einen Schlüssel ein, der aktuell noch Ihnen gehört. Ihr VPS ist vollständig selbstverwaltet: Wer auf den Server darf, regeln Sie selbst. Wir helfen Ihnen beim WebOké-Teil, etwa beim VPS-Bildschirm, der Konsole und Snapshots.
Möchten Sie mehr lernen? Besuchen Sie den kostenlosen Kurs VPS und Linux-Serververwaltung, Lektion 2.1 SSH-Schlüssel erstellen und verwenden oder Lektion 2.3 SSH clever nutzen.
