aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2025-09-29 12:56:54 +0200
committerJan Tuomi <jan@jantuomi.fi>2025-09-29 12:56:54 +0200
commitd9ce013dda51ad1a1905e2acc7476ea1744be6e0 (patch)
tree44ba56e6c752de5babbce9b79226aac020ae929f
parent7c5eae9294994e59a5176eba21093ecd6cdfcf63 (diff)
Add backup ssh keys
-rw-r--r--playbook.yml4
-rw-r--r--tasks/general.yml24
-rw-r--r--templates/root_ssh_config.j24
3 files changed, 32 insertions, 0 deletions
diff --git a/playbook.yml b/playbook.yml
index 7faac38..5608ef7 100644
--- a/playbook.yml
+++ b/playbook.yml
@@ -20,6 +20,10 @@
dma_mail_hostname: "{{ lookup('env', 'DMA_MAILNAME') }}"
dma_to_address: "{{ lookup('env', 'DMA_TO_ADDRESS') }}"
do_api_token: "{{ lookup('env', 'DO_API_TOKEN') }}"
+ backup_ssh_host: "{{ lookup('env', 'BACKUP_SSH_HOST') }}"
+ backup_ssh_user: "{{ lookup('env', 'BACKUP_SSH_USER') }}"
+ backup_ssh_privkey_file: "{{ lookup('env', 'BACKUP_SSH_PRIVKEY_FILE') }}"
+ backup_ssh_pubkey_file: "{{ lookup('env', 'BACKUP_SSH_PUBKEY_FILE') }}"
lan_ipv4_cidr: 192.168.0.10/16
lan_ipv4_gateway: 192.168.0.1
lan_search_domain: local.jan.systems
diff --git a/tasks/general.yml b/tasks/general.yml
index 46f04a1..ec748bf 100644
--- a/tasks/general.yml
+++ b/tasks/general.yml
@@ -66,3 +66,27 @@
owner: root
group: wheel
mode: "0755"
+
+- name: Copy backup SSH private key
+ copy:
+ src: "{{ backup_ssh_privkey_file }}"
+ dest: /root/.ssh/backup
+ owner: root
+ group: wheel
+ mode: "0600"
+
+- name: Copy backup SSH public key
+ copy:
+ src: "{{ backup_ssh_pubkey_file }}"
+ dest: /root/.ssh/backup.pub
+ owner: root
+ group: wheel
+ mode: "0644"
+
+- name: Copy SSH config
+ template:
+ src: root_ssh_config.j2
+ dest: /root/.ssh/config
+ owner: root
+ group: wheel
+ mode: "0644"
diff --git a/templates/root_ssh_config.j2 b/templates/root_ssh_config.j2
new file mode 100644
index 0000000..96f78f2
--- /dev/null
+++ b/templates/root_ssh_config.j2
@@ -0,0 +1,4 @@
+Host backup
+ HostName {{ backup_ssh_host }}
+ User {{ backup_ssh_user }}
+ IdentityFile /root/.ssh/backup