1#cloud-config
2
3users:
4 - name: finxol
5 groups: users, admin, docker
6 sudo: ALL=(ALL) NOPASSWD:ALL
7 shell: /bin/bash
8 ssh_authorized_keys:
9 # id_rsa.pub
10 - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC10FwjHert2ks+hzt6MIRS/5HAasryp5jhBv7y7Ig531epIpwKrVIEX5/o0c8aPzfsVtMRSLSBJxPHxKMPJwZmjMJz5uCO09aalsFLC5hmA9M6HWt7Tm+4U3GxO73yfQKfzy9NEvFVR9McMeNLuk7aQP+hnaf9E/FYjW0obk9LOgjk/zG1rB5zs70+WCP5B1YXpkiPzubyw1CPeMx5UFrLd3cJUhgiKF+VdP52xis9EDZ+S7G3fknHmSUIRy9/xWSuOr9VB7nGATRGFhZKa4xzd9d/FGLhempkPdD9WTnsPMRD4Fneq5wXd7Qr2J8fIX8G6v71G1Xj56Y7D70OIYtwfa1uwtIUO4HdNnIoLGBj9QkW5LCx+wB4i/FwQ0IKCJzDx6HdnT2dSOoGVCoW8AnUpBZSDNKmEa5hlhriJse46ThjLvYpRcS2nIEO705qeb9kxW67jAFmedU8xwcdb9UJ5AOzQanCYIBKa9Cgm+hi0UoCQfktlfJQ8ASicMie/XE= finxol@Colins-MacBook-Pro.local
11
12package_update: true
13package_upgrade: true
14
15write_files:
16 - path: /etc/ssh/sshd_config.d/ssh-hardening.conf
17 content: |
18 UsePAM yes
19 PasswordAuthentication no
20 KbdInteractiveAuthentication no
21 PermitRootLogin no
22 PermitEmptyPasswords no
23 X11Forwarding no
24 AllowAgentForwarding no
25 ClientAliveInterval 300
26 ClientAliveCountMax 2
27 LoginGraceTime 60
28 MaxAuthTries 3
29 MaxSessions 4
30 AuthorizedKeysFile .ssh/authorized_keys
31 AllowUsers finxol
32
33runcmd:
34 - apt-get install -y git gpg ca-certificates curl apt-transport-https debian-keyring debian-archive-keyring
35 - apt-get install -y bat
36 - "[[ -f /usr/bin/batcat ]] && [[ ! -f /usr/bin/bat ]] && ln -s /usr/bin/batcat /usr/bin/bat || true"
37 - mkdir -p /etc/apt/keyrings
38 - wget -qO- https://raw.githubusercontent.com/eza-community/eza/main/deb.asc | gpg --dearmor -o /etc/apt/keyrings/gierens.gpg
39 - echo "deb [signed-by=/etc/apt/keyrings/gierens.gpg] http://deb.gierens.de stable main" | tee /etc/apt/sources.list.d/gierens.list
40 - chmod 644 /etc/apt/keyrings/gierens.gpg /etc/apt/sources.list.d/gierens.list
41 - curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
42 - chmod a+r /etc/apt/keyrings/docker.asc
43 - sh -c 'echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null'
44 - curl -1sLf https://dl.cloudsmith.io/public/caddy/stable/gpg.key | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
45 - echo "deb [signed-by=/usr/share/keyrings/caddy-stable-archive-keyring.gpg] https://dl.cloudsmith.io/public/caddy/stable/debian/ any main" | tee /etc/apt/sources.list.d/caddy-stable.list
46 - chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg /etc/apt/sources.list.d/caddy-stable.list
47 - apt-get update
48 - apt-get install -y eza
49 - apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
50 - apt-get install -y caddy
51 - apt-get install -y chrony
52 - groupadd docker || true
53 - usermod -aG docker finxol
54 - systemctl enable --now chrony
55 - systemctl restart sshd
56 - reboot