Compare commits
4 Commits
9ee0dcb874
...
ab248c4dbe
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ab248c4dbe | ||
|
|
da30b86a3b | ||
|
|
9a6f4f0bd8 | ||
|
|
f59b2c9ecd |
@@ -17,6 +17,7 @@ jobs:
|
|||||||
# Wir übergeben die Secrets als Environment-Variablen an den SSH-Befehl
|
# Wir übergeben die Secrets als Environment-Variablen an den SSH-Befehl
|
||||||
envs: HETZNER_TOKEN
|
envs: HETZNER_TOKEN
|
||||||
script: |
|
script: |
|
||||||
|
set-e
|
||||||
mkdir -p /root/iac
|
mkdir -p /root/iac
|
||||||
cd /root/iac
|
cd /root/iac
|
||||||
|
|
||||||
|
|||||||
2
main.tf
2
main.tf
@@ -7,9 +7,9 @@ resource "hcloud_ssh_key" "default" {
|
|||||||
# Cloud-init script
|
# Cloud-init script
|
||||||
locals {
|
locals {
|
||||||
user_data = templatefile("${path.module}/scripts/cloud-init.sh", {
|
user_data = templatefile("${path.module}/scripts/cloud-init.sh", {
|
||||||
tailscale_auth_key = var.tailscale_auth_key
|
|
||||||
username = var.username
|
username = var.username
|
||||||
ssh_public_key = var.ssh_public_key
|
ssh_public_key = var.ssh_public_key
|
||||||
|
distro_id = vars.distro_id
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,20 +18,6 @@ DEBIAN_FRONTEND=noninteractive apt install -y \
|
|||||||
unattended-upgrades \
|
unattended-upgrades \
|
||||||
apt-listchanges
|
apt-listchanges
|
||||||
|
|
||||||
# Create non-root user
|
|
||||||
#if ! id "$USERNAME" &>/dev/null; then
|
|
||||||
# useradd -m -s /bin/bash -G sudo "$USERNAME"
|
|
||||||
# echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/$USERNAME
|
|
||||||
# chmod 0440 /etc/sudoers.d/$USERNAME
|
|
||||||
#fi
|
|
||||||
|
|
||||||
## SSH key for user
|
|
||||||
#USER_HOME="/home/$USERNAME"
|
|
||||||
#mkdir -p "$USER_HOME/.ssh"
|
|
||||||
#echo "$SSH_PUBLIC_KEY" > "$USER_HOME/.ssh/authorized_keys"
|
|
||||||
#chmod 700 "$USER_HOME/.ssh"
|
|
||||||
#chmod 600 "$USER_HOME/.ssh/authorized_keys"
|
|
||||||
#chown -R "$USERNAME:$USERNAME" "$USER_HOME/.ssh"
|
|
||||||
|
|
||||||
# SSH hardening
|
# SSH hardening
|
||||||
cat > /etc/ssh/sshd_config.d/hardening.conf << 'EOF'
|
cat > /etc/ssh/sshd_config.d/hardening.conf << 'EOF'
|
||||||
@@ -139,11 +125,4 @@ EOF
|
|||||||
|
|
||||||
sysctl -p /etc/sysctl.d/99-security.conf
|
sysctl -p /etc/sysctl.d/99-security.conf
|
||||||
|
|
||||||
## Tailscale (optional)
|
|
||||||
#if [ -n "$TAILSCALE_AUTH_KEY" ]; then
|
|
||||||
# curl -fsSL https://tailscale.com/install.sh | sh
|
|
||||||
# tailscale up --authkey="$TAILSCALE_AUTH_KEY" --ssh
|
|
||||||
# echo "Tailscale installed and connected"
|
|
||||||
#fi
|
|
||||||
|
|
||||||
echo "=== Cloud-init completed at $(date) ==="
|
echo "=== Cloud-init completed at $(date) ==="
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
hcloud_token = "your-hetzner-api-token"
|
|
||||||
server_name = "clawdbot-prod"
|
server_name = "clawdbot-prod"
|
||||||
server_type = "cax21"
|
server_type = "cax21"
|
||||||
image = "ubuntu-24.04"
|
image = "ubuntu-24.04"
|
||||||
location = "nbg1-dc3"
|
location = "nbg1-dc3"
|
||||||
ssh_public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCkKMAoaJiEWf5ruXnI1KOcwq3IRA2nShwPGaubklTVrCkTaXE8gSwpUtqnCJZvGxufUNVBLO/n/3KQNm8aFsEHX+c90F5FknrDro1S5szGRGlJz39YaMJeI0RSyHXNlOxIMl3zV1TpkvJGkdVCzTgafwSLfXws3/o/9fskNs5+jnTP03P8J4u1yEDbjmDNDRQRfBMHBbWOQ/+4Ci9japLSJrbUbmIpP78I8w2qCGPLBd/ksK3VTmn88sQ274m7nfjFMCIVondPz0u+oHg/5q0eiK1mbquTe9rdpx07BzNSLJbIHoEw+nqqf4L3mfoTNW7D67AgLZAztdrEj/GOzSL+tmgtO/lRQumZVCjWtyMtlL0D8F0O8lODngJhDbQHOOaoJz1kCBlJZOg2QqDsHQEO4FrNZ6gzlfj+q4LpYgEYMstJ2u/XFf5dEBWIA8JukYQeT/RLrMQJom0SmrEZ4kyzWWc7Rp9wF1QXk0Apgl2aKpqO6UTUP92P+hAPKmAArDgsSNZgiC/6ARYGi6igGObuGHW2pfB/5tK8mw55yiyH25XjP91BAaUDQfCab1yRU09nQenPzWQQ2bg87ZA6GQYi3xfzZoERCxmgfvhbvd7kEqBMHyOzD8WyFuNeBP8T06yKg0Qeo5jjQkrJySp8smnDqIkYcmhVAOYeZV/WfXtEzQ=="
|
ssh_public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCkKMAoaJiEWf5ruXnI1KOcwq3IRA2nShwPGaubklTVrCkTaXE8gSwpUtqnCJZvGxufUNVBLO/n/3KQNm8aFsEHX+c90F5FknrDro1S5szGRGlJz39YaMJeI0RSyHXNlOxIMl3zV1TpkvJGkdVCzTgafwSLfXws3/o/9fskNs5+jnTP03P8J4u1yEDbjmDNDRQRfBMHBbWOQ/+4Ci9japLSJrbUbmIpP78I8w2qCGPLBd/ksK3VTmn88sQ274m7nfjFMCIVondPz0u+oHg/5q0eiK1mbquTe9rdpx07BzNSLJbIHoEw+nqqf4L3mfoTNW7D67AgLZAztdrEj/GOzSL+tmgtO/lRQumZVCjWtyMtlL0D8F0O8lODngJhDbQHOOaoJz1kCBlJZOg2QqDsHQEO4FrNZ6gzlfj+q4LpYgEYMstJ2u/XFf5dEBWIA8JukYQeT/RLrMQJom0SmrEZ4kyzWWc7Rp9wF1QXk0Apgl2aKpqO6UTUP92P+hAPKmAArDgsSNZgiC/6ARYGi6igGObuGHW2pfB/5tK8mw55yiyH25XjP91BAaUDQfCab1yRU09nQenPzWQQ2bg87ZA6GQYi3xfzZoERCxmgfvhbvd7kEqBMHyOzD8WyFuNeBP8T06yKg0Qeo5jjQkrJySp8smnDqIkYcmhVAOYeZV/WfXtEzQ=="
|
||||||
|
distro_id = "ubuntu"
|
||||||
|
|||||||
@@ -45,13 +45,6 @@ variable "username" {
|
|||||||
default = "clawdbot"
|
default = "clawdbot"
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "tailscale_auth_key" {
|
|
||||||
description = "Tailscale auth key (optional)"
|
|
||||||
type = string
|
|
||||||
default = ""
|
|
||||||
sensitive = true
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "allowed_ssh_ips" {
|
variable "allowed_ssh_ips" {
|
||||||
description = "IPs allowed to SSH (use your static IP or VPN range)"
|
description = "IPs allowed to SSH (use your static IP or VPN range)"
|
||||||
type = list(string)
|
type = list(string)
|
||||||
|
|||||||
Reference in New Issue
Block a user