Eigenes cloud-init bei der Installation Ihres VPS verwenden
Beim Installieren oder Neuinstallieren Ihres VPS können Sie ein eigenes cloud-init mitgeben. Ihr VPS führt diese Datei beim ersten Start selbst aus: Er installiert Ihre Pakete, legt Ihre Benutzer an und führt Ihre Befehle aus. Sie benötigen dafür weder eine API noch ein Terminal.
1. Das Feld öffnen
- Melden Sie sich bei Mein WebOké an, gehen Sie zu Meine Produkte und klicken Sie auf Ihren VPS.
- Neuer VPS: Sie sehen den Block Installieren Sie Ihren VPS. Neuinstallation: Wählen Sie den Tab Erweitert und klicken Sie bei Neu installieren auf Neu installieren....
- Wählen Sie das Betriebssystem und geben Sie das root-Passwort und gegebenenfalls Ihren SSH-Schlüssel ein.
- Klicken Sie unter dem SSH-Schlüssel auf Eigenes cloud-init und fügen Sie Ihre Datei in das Feld ein.
- Klicken Sie auf die Schaltfläche zum Installieren oder auf Alles löschen und neu installieren.
2. Was darf in der Datei stehen?
- Eine Datei, die mit
#cloud-configbeginnt (Einstellungen in YAML), oder ein Skript, das mit#!beginnt. Auch#cloud-boothookund## template: jinjafunktionieren. - Maximal 256 KB und nur Text (UTF-8).
- In YAML rücken Sie mit Leerzeichen ein, niemals mit Tabs.
- Das Netzwerk (IPv4 und IPv6) regelt WebOké. Eine eigene network-config wird nicht verwendet.
3. Ein Beispiel
Diese Datei installiert htop und fail2ban, legt den Benutzer anna mit einem SSH-Schlüssel und sudo an und führt anschließend einen Befehl aus:
#cloud-config
hostname: web1
fqdn: web1.example.com
package_update: true
packages:
- htop
- fail2ban
users:
- default
- name: anna
shell: /bin/bash
sudo: "ALL=(ALL) NOPASSWD:ALL"
ssh_authorized_keys:
- ssh-ed25519 AAAAC3Nza... anna@laptop
runcmd:
- timedatectl set-timezone Europe/Amsterdam
Ersetzen Sie den Schlüssel durch Ihren eigenen öffentlichen Schlüssel. Das Beispiel gilt für Debian und Ubuntu: Unter AlmaLinux und Rocky Linux installieren Sie htop und fail2ban über runcmd, nach dnf install -y epel-release.
4. Was hat Vorrang?
WebOké gibt selbst den Hostnamen, das root-Passwort (als Hash) und Ihren SSH-Schlüssel mit. Ihre Datei wird damit zusammengeführt. Legen Sie selbst users, password, chpasswd oder ssh_authorized_keys fest, haben Ihre Angaben Vorrang.
ssh_authorized_keys oder password auf der obersten Ebene fest, ersetzen diese den Schlüssel und das Passwort aus dem Formular. Tragen Sie dann auch den Schlüssel ein, mit dem Sie sich anmelden möchten. Lassen Sie in users die Zeile - default ganz oben stehen.5. Prüfen, ob es geklappt hat
cloud-init läuft einmal, beim ersten Start Ihres VPS. Melden Sie sich danach an und prüfen Sie:
cloud-init status --longzeigtstatus: done, wenn alles geklappt hat, odererrormit dem Fehler.- Die Ausgabe Ihrer Pakete, Befehle und Skripte finden Sie in
/var/log/cloud-init-output.log. Details stehen in/var/log/cloud-init.log. - Mit
sudo cloud-init schema --systemprüfen Sie Ihre Datei. Ist das YAML fehlerhaft, überspringt cloud-init Teile davon.
Gut zu wissen
- Es funktioniert für alle Betriebssysteme in der Liste: Ubuntu 24.04 und 26.04, Debian 12 und 13, AlmaLinux 9 und 10 sowie Rocky Linux 9 und 10.
- Ihre Datei wird verschlüsselt übergeben und nicht im Aufgabenverlauf Ihres VPS gespeichert. Tragen Sie trotzdem keine Geheimnisse ein, die Sie nicht benötigen.
- Ein VPS ist unmanaged. Der Support hilft nicht beim Inhalt Ihres cloud-init. Alle Möglichkeiten finden Sie auf docs.cloud-init.io.
Ausführliche Erklärung mit weiteren Beispielen: Eigenes cloud-init: Ihren VPS beim ersten Start automatisch einrichten im VPS-Handbuch.
Siehe auch: Eigene ISO einbinden oder Ihren VPS neu installieren und Per SSH auf Ihren VPS einloggen (und einen SSH-Schlüssel erstellen).
