Hvordan bruke Cloud-Init på Ubuntu 22.04
Når du bestiller en ny server er det ofte ting du ønsker å sette opp på denne serveren. Over tid får man ofte en rekke ting man ønsker å gjøre hver gang man setter opp en ny server. Cloud-init er et godt verktøy for dette.
Når du bestiller Linux-server med Ubuntu 22.04 fra Deploi er cloud-init allerede installert. Dette sjekker du enkelt med:
dpkg --get-selections | grep cloud-init
Cloud-init baserer oppsettet av en server på en fil. Denne ligger i /etc/cloud/cloud.cfg. Her er et eksempel hvor vi:
- Oppretter brukeren martin
- Brukeren «martin» kan logge på med sin privatnøkkel.
- Brukeren «martin» har sudo-tilgang med passord.
- Vi har satt domene-navnet til test.deploi.no
- Vi har deaktivert passord-login på ssh.
#cloud-config users: - name: martin lock_passwd: false passwd: $6$WmVp5JtYBM$o2SmtSjo4jbvnG80N8lozAw3a6eIuO9Oe7i9PKwnn9cz4o5YE8jGwtz4L2GWX2xKjlwHXAUMDMUy2.gyMQG5W. gecos: Martin Johansen ssh_authorized_keys: - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILIbYbEUetLrmd1c7gniKp10nZtLwFSBcHXrgV9Jeyus groups: adm, audio, cdrom, dialout, dip, floppy, lxd, netdev, plugdev, sudo, video shell: /bin/bash preserve_hostname: false hostname: test.deploi.no manage_etc_hosts: true ssh_pwauth: false cloud_init_modules: - set_hostname - update_hostname - update_etc_hosts - users-groups - ssh cloud_config_modules: - set-passwords system_info: distro: ubuntu network: renderers: ['eni'] ntp_client: auto paths: cloud_dir: /var/lib/cloud/ templates_dir: /etc/cloud/templates/ ssh_svcname: ssh
Du kan bruke verktøyet mkpasswd til å lage et passord:
mkpasswd -m sha-512
Dette verktøyet kan brukes for å lage et nøkkelpar:
ssh-keygen -t ed25519 -f key
Du kan sjekke om filen er satt opp riktig ved å kjøre:
cloud-init schema --config-file /etc/cloud/cloud.cfg
Lag denne filen /etc/cloud/cloud.cfg.d/99-installer.cfg
# Configure cloud-init for NoCloud datasource_list: [ NoCloud, None ] datasource: NoCloud: fs_label: system-boot
Kjør følgende kommandoer for å aktivere instillingene:
cloud-init clean cloud-init init
Mer informasjoin om hva du kan gjøre med Cloud-init finner du i dokumentasjonen til Cloud-init på Ubuntu 22.04.