Vor einem Lifeline-Einsatz müssen auf Ihrem VPS zwei Bedingungen erfüllt sein: Der QEMU-Agent muss aktiv sein und unser öffentlicher SSH-Schlüssel muss installiert sein. Diese Vorbereitung ermöglicht es unseren Administratoren, auf den Server zuzugreifen, wenn Sie sie um einen Einsatz bitten.
Zwei Methoden stehen zur Verfügung:
- Automatische Methode (empfohlen): Ein Skript prüft und bereitet alles mit einem einzigen Befehl vor und zeigt anschließend eine Zusammenfassung an, die Sie Ihrem Ticket beifügen können.
- Manuelle Methode: Sie führen jeden Schritt selbst aus, wenn Sie die Kontrolle über jeden Befehl behalten möchten.
Der QEMU-Agent ist auf den von PulseHeberg gelieferten VPS bereits installiert: Normalerweise müssen Sie nur prüfen, ob er aktiv ist. Der SSH-Schlüssel muss jedoch hinzugefügt werden, falls er noch nicht vorhanden ist.
Bevor Sie beginnen#
Lifeline betrifft Linux-VPS. Verbinden Sie sich per SSH mit Ihrem VPS über ein Administratorkonto. Führen Sie diese Vorbereitung durch, solange Sie noch Zugriff auf den Server haben, und lassen Sie Ihre Sitzung während der Arbeiten geöffnet.
Die folgenden Befehle verwenden das Konto root. Wenn Sie ein anderes Konto mit sudo verwenden, öffnen Sie zunächst eine Administratorsitzung:
sudo -iWenn Sie bereits als root angemeldet sind, ist dieser Befehl nicht erforderlich.
SSH-Zugriff in Ihrer Firewall erlauben#
Das Lifeline-Skript ändert Ihre Firewall niemals. Wenn Sie auf Ihrem VPS oder davor eine Firewall einsetzen, müssen Sie eingehende SSH-Verbindungen von beiden folgenden Quell-IP-Adressen erlauben:
185.157.244.4289.234.180.180
Erlauben Sie diese Verbindungen auf dem TCP-Port Ihres SSH-Servers: standardmäßig 22 oder auf Ihrem individuell festgelegten Port. Richten Sie diese Regeln vor dem Einsatz selbst in jeder Firewall ein, die den Zugriff auf Ihren VPS filtert.
Automatische Methode (empfohlen)#
Unterstützte Systeme#
| Familie | Distributionen |
|---|---|
| Debian | Debian, Ubuntu |
| Red Hat | AlmaLinux, Rocky Linux, CentOS, RHEL, Oracle Linux, CloudLinux, Fedora |
| SUSE | openSUSE, SLES |
| Arch | Arch Linux, Manjaro |
| Alpine | Alpine Linux |
| Gentoo | Gentoo |
Bei einer anderen Linux-Distribution fügt das Skript den Schlüssel hinzu und prüft die SSH-Konfiguration; wenn der QEMU-Agent fehlt, installieren Sie ihn mit Ihrem Paketmanager und führen Sie das Skript anschließend erneut aus.
Skript ausführen#
Führen Sie aus Ihrer root-Sitzung aus:
curl -fsSL https://lifeline.pulseheberg.com/setup.sh | shWenn curl nicht installiert ist (häufig bei Alpine), verwenden Sie wget:
wget -qO- https://lifeline.pulseheberg.com/setup.sh | shMöchten Sie das Skript lieber lesen, bevor Sie es ausführen? Laden Sie es herunter, sehen Sie es sich an und führen Sie es dann aus:
curl -fsSLo lifeline-setup.sh https://lifeline.pulseheberg.com/setup.sh
less lifeline-setup.sh
sh lifeline-setup.shWas das Skript tut#
- QEMU-Agent: Es prüft, ob der Kommunikationskanal mit unserer Infrastruktur vorhanden ist, installiert das Paket
qemu-guest-agent, falls es fehlt, aktiviert es beim Start und startet es. - Lifeline-SSH-Schlüssel: Es fügt unseren öffentlichen Schlüssel zu
/root/.ssh/authorized_keyshinzu, ohne Ihre Schlüssel zu verändern und ohne ihn jemals zweimal hinzuzufügen, wendet die erwarteten Berechtigungen an und, wenn SELinux aktiv ist, die Sicherheitskontexte. Es prüft außerdem, ob der enthaltene Schlüssel mit dem unten veröffentlichten Fingerabdruck übereinstimmt. - SSH-Konfiguration: Es liest die effektive Konfiguration des SSH-Servers (Anmeldung von
root, Schlüsseldatei, Port, Zugriffsbeschränkungen) und meldet alles, was unseren Zugriff verhindern würde.
Das Skript ändert niemals die Konfiguration des SSH-Servers, Ihre Firewall, Ihre Passwörter oder Ihre eigenen Schlüssel. Es reaktiviert keinen Dienst, den Sie maskiert haben, und berührt keine Virtualisierungseinstellungen. Es löst keinen Einsatz aus.
Ergebnis lesen#
Jeder Prüfung steht ein Kennzeichen voran:
| Kennzeichen | Bedeutung |
|---|---|
[ OK ] | Der Punkt ist konform. |
[INFO] | Information, die in Ihrem Ticket erwähnt werden sollte (zum Beispiel benutzerdefinierter SSH-Port). |
[ATTN] | Punkt, der vor einem Einsatz behoben werden muss. Eine Erklärung folgt der Zeile. |
[ERR ] | Das Skript konnte einen Schritt nicht abschließen. |
Das Skript endet mit einer Zusammenfassung. Kopieren Sie diese unverändert in Ihr Ticket: Sie gibt unserem Team den Zustand Ihres VPS ohne weiteren Austausch.
--- Récapitulatif à copier dans votre ticket Lifeline ---
lifeline-setup : 1.0.0, mode install, 2026-10-25 14:33 UTC
hôte : mon-vps
système : Debian GNU/Linux 12 (bookworm), noyau 6.1.0-26-amd64, init systemd
agent QEMU : actif, canal présent
clé Lifeline : présente, permissions conformes
fichier : /root/.ssh/authorized_keys
SSH : PermitRootLogin prohibit-password, PubkeyAuthentication yes, port 22
SELinux : absent
statut : prêt
---------------------------------------------------------Die abschließende Meldung fasst die Situation zusammen:
- Ihr VPS ist für Lifeline bereit: Es sind keine weiteren Maßnahmen erforderlich.
- Vorbereitung unvollständig: Beheben Sie die Zeilen
[ATTN]gemäß den angezeigten Erklärungen und führen Sie das Skript anschließend erneut aus. Wenn Sie sie nicht selbst beheben können, eröffnen Sie ein Ticket und fügen Sie die Zusammenfassung bei. - Die Vorbereitung ist fehlgeschlagen: Eröffnen Sie ein Ticket und fügen Sie die Zusammenfassung bei.
Das Skript kann beliebig oft erneut ausgeführt werden: Es wiederholt nur, was fehlt.
Optionen#
| Option | Wirkung |
|---|---|
--check | Nur Diagnose: Das Skript prüft alles, ohne etwas zu ändern. |
--remove | Entfernt den Lifeline-Schlüssel und nur diesen. |
--help | Zeigt die Hilfe an. |
Fügen Sie bei der Einzeilen-Befehlsvariante die Option nach sh -s -- hinzu:
curl -fsSL https://lifeline.pulseheberg.com/setup.sh | sh -s -- --checkWenn Sie das Skript über ein Automatisierungstool ausführen, lauten seine Exit-Codes: 0 VPS bereit, 1 Fehler, 2 mindestens ein zu behebender Punkt.
Manuelle Methode#
1. Prüfen, ob der QEMU-Agent aktiv ist#
Der QEMU-Agent ermöglicht unserer Infrastruktur die Kommunikation mit dem System Ihres VPS, insbesondere für bestimmte Verwaltungsvorgänge und die Vorbereitung von Snapshots.
Führen Sie aus:
systemctl is-active qemu-guest-agentDas erwartete Ergebnis ist:
activeSie können die Details einsehen mit:
systemctl status qemu-guest-agent --no-pagerDie Zeile Active: muss active (running) anzeigen.
Unter Alpine Linux, das systemd nicht verwendet, erfolgt die Prüfung mit:
rc-service qemu-guest-agent statusDas erwartete Ergebnis enthält status: started.
Wenn der Agent gestoppt ist
Starten Sie ihn und prüfen Sie anschließend erneut seinen Status:
systemctl start qemu-guest-agent
systemctl is-active qemu-guest-agentUnter Alpine Linux:
rc-update add qemu-guest-agent default
rc-service qemu-guest-agent startWenn der Agent nicht gefunden wird
Das Paket wurde möglicherweise entfernt oder Ihr System wurde neu installiert. Installieren Sie es je nach Distribution neu:
Debian / Ubuntu:
apt update
apt install qemu-guest-agent
systemctl start qemu-guest-agentAlmaLinux / Rocky Linux / CentOS / RHEL / Fedora:
dnf install qemu-guest-agent
systemctl enable --now qemu-guest-agentErsetzen Sie unter CentOS 7 dnf durch yum.
openSUSE / SLES:
zypper install qemu-guest-agent
systemctl enable --now qemu-guest-agentArch Linux / Manjaro:
pacman -S qemu-guest-agent
systemctl enable --now qemu-guest-agentAlpine Linux:
apk add qemu-guest-agent
rc-update add qemu-guest-agent default
rc-service qemu-guest-agent startGentoo:
emerge app-emulation/qemu-guest-agentFühren Sie dann je nach Init-System systemctl enable --now qemu-guest-agent oder rc-update add qemu-guest-agent default && rc-service qemu-guest-agent start aus.
Prüfen Sie anschließend mit dem obigen Prüfbefehl, ob der Agent tatsächlich aktiv ist.
Wenn der Agent nicht startet
Der Agent benötigt einen von unserer Infrastruktur bereitgestellten Kommunikationskanal. Prüfen Sie dessen Vorhandensein:
ls -l /dev/virtio-ports/Die Liste muss org.qemu.guest_agent.0 enthalten. Unter Alpine Linux kann dieser Link fehlen, obwohl der Kanal vorhanden ist: Verwenden Sie in diesem Fall die automatische Methode, die den Agenten mit dem richtigen Pfad konfiguriert.
Wenn der Dienst weiterhin fehlschlägt, maskiert (masked) ist oder ein fehlendes Kommunikationsgerät meldet, eröffnen Sie ein Ticket und fügen Sie die Fehlermeldung bei. Ändern Sie keine Virtualisierungseinstellungen, um das Problem zu umgehen. Ein aktiver Dienst bestätigt seine Funktion im VPS; die Kommunikation mit der Infrastruktur kann ebenfalls eine Prüfung durch unser Team erfordern.
2. Lifeline-SSH-Schlüssel hinzufügen#
Hier ist der öffentliche Schlüssel, den unser Team verwendet:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHc/36ifmXENTDGHuWYHU2KN0e/kad5UfkvAjdgMmpSc [email protected]Sein SHA256-Fingerabdruck ist:
SHA256:/IT7ML5kryCTcjLRAKS/RfTxmIZeHKMPXqRsVwvUhVIFügen Sie diesen Schlüssel in einer einzigen Zeile zur Datei /root/.ssh/authorized_keys hinzu. Der folgende Block erstellt den Ordner und die Datei bei Bedarf, behält Ihre vorhandenen Schlüssel bei und vermeidet das doppelte Hinzufügen derselben Zeile:
install -d -m 700 -o root -g root /root/.ssh
touch /root/.ssh/authorized_keys
chown root:root /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
lifeline_key='ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHc/36ifmXENTDGHuWYHU2KN0e/kad5UfkvAjdgMmpSc [email protected]'
if ! grep -qxF "$lifeline_key" /root/.ssh/authorized_keys; then
printf '\n%s\n' "$lifeline_key" >> /root/.ssh/authorized_keys
fi
unset lifeline_keyDas Hinzufügen des Schlüssels erfordert keinen Neustart von SSH oder des VPS. Ersetzen Sie nicht den Inhalt von authorized_keys: Ihre eigenen Schlüssel müssen vorhanden bleiben.
Wenn SELinux aktiv ist (AlmaLinux, Rocky Linux, RHEL, Fedora…), wenden Sie zusätzlich die erwarteten Kontexte an:
restorecon -RF /root/.sshWenn Ihre SSH-Konfiguration angepasst ist
Dieses Verfahren setzt voraus, dass SSH die Anmeldung von root per Schlüssel erlaubt und die Datei /root/.ssh/authorized_keys verwendet. Sie können die effektiven Einstellungen einsehen mit:
sshd -T | grep -Ei '^(permitrootlogin|pubkeyauthentication|authorizedkeysfile|port) 'permitrootlogin muss prohibit-password, without-password oder yes sein, und pubkeyauthentication muss yes sein.
Wenn Sie diesen Zugriff deaktiviert, den SSH-Port geändert, die zulässigen Adressen per Firewall eingeschränkt oder eine andere Schlüsseldatei konfiguriert haben, geben Sie dies in Ihrem Ticket an. Unser Team teilt Ihnen mit, wie der Zugriff angepasst werden kann. Aktivieren Sie nicht die Passwortauthentifizierung und deaktivieren Sie nicht Ihre Firewall, um dieses Tutorial anzuwenden.
3. Vorhandensein des Schlüssels prüfen#
Führen Sie weiterhin aus der Administratorsitzung aus:
ssh-keygen -lf /root/.ssh/authorized_keysDie Liste muss diesen Fingerabdruck enthalten:
256 SHA256:/IT7ML5kryCTcjLRAKS/RfTxmIZeHKMPXqRsVwvUhVI [email protected] (ED25519)Prüfen Sie auch die Berechtigungen:
ls -ld /root/.ssh
ls -l /root/.ssh/authorized_keysDer Ordner muss root gehören und die Berechtigungen drwx------ haben, die Datei muss root gehören und die Berechtigungen -rw------- haben.
Diese Prüfung bestätigt, dass der Schlüssel installiert ist; nur ein Verbindungstest durch unser Team kann bestätigen, dass der Zugriff durchgängig funktioniert. Sie können eine Verbindung nicht allein mit unserem öffentlichen Schlüssel testen.
Einen Einsatz anfordern#
Ihr VPS ist bereit, wenn:
- Der Agent
qemu-guest-agentaktiv ist. - Der öffentliche Lifeline-Schlüssel im für den Einsatz vorgesehenen Konto vorhanden ist.
- Ihre SSH-Konfiguration den mit unserem Team vereinbarten Zugriff erlaubt und Ihre Firewall, sofern vorhanden, SSH-Verbindungen von
185.157.244.42und89.234.180.180zulässt.
Wenn Lifeline noch nicht aktiviert ist, gehen Sie zum Verwaltungsbereich Ihres VPS, sobald dieser in Betrieb ist.
Um Hilfe anzufordern, eröffnen Sie ein Lifeline-Ticket, wählen Sie den betroffenen VPS aus und beschreiben Sie Ihr Anliegen. Geben Sie die aufgetretenen Fehler, die bereits versuchten Maßnahmen und eventuelle Produktionseinschränkungen an. Wenn Sie die automatische Methode verwendet haben, fügen Sie die vom Skript angezeigte Zusammenfassung bei.
Geben Sie niemals ein Passwort oder einen privaten Schlüssel im Ticket an. Wir verwenden den installierten öffentlichen Schlüssel, um uns mit unserem privaten Schlüssel zu authentifizieren.
Die Installation des Schlüssels löst keinen Einsatz aus und gilt nicht als dauerhafte Zugriffsberechtigung. Die geplanten Maßnahmen, das verwendete Guthaben und der eventuelle Betrag werden im Ticket vor dem Einsatz bestätigt.
Lifeline-Schlüssel entfernen#
Sie können den Lifeline-Schlüssel jederzeit entfernen. Es wird nur seine Zeile gelöscht: Ihre anderen Schlüssel bleiben erhalten.
Mit dem Skript:
curl -fsSL https://lifeline.pulseheberg.com/setup.sh | sh -s -- --removeManuell:
sed -i '\#AAAAC3NzaC1lZDI1NTE5AAAAIHc/36ifmXENTDGHuWYHU2KN0e/kad5UfkvAjdgMmpSc#d' /root/.ssh/authorized_keysDas Entfernen des Schlüssels kündigt das Abonnement nicht, aber der für Einsätze erforderliche Zugriff muss vor jeder Anfrage wiederhergestellt werden.