From 5ade272217a1943ea66d9a0dc1dd3ae67e6b1f1d Mon Sep 17 00:00:00 2001 From: u1 Date: Sat, 7 Feb 2026 14:45:40 +0100 Subject: [PATCH] docs(step1): add txt auto ssh-add baremetal key after reboot --- ...uto-ssh-add-baremetal-key-after-reboot.txt | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 doc/step-001-auto-ssh-add-baremetal-key-after-reboot.txt diff --git a/doc/step-001-auto-ssh-add-baremetal-key-after-reboot.txt b/doc/step-001-auto-ssh-add-baremetal-key-after-reboot.txt new file mode 100644 index 0000000..2d05456 --- /dev/null +++ b/doc/step-001-auto-ssh-add-baremetal-key-after-reboot.txt @@ -0,0 +1,68 @@ +Step 001: Auto-dodawanie klucza SSH do ssh-agent po restarcie (VPS -> baremetal) + +Cel: +- Po restarcie VPS (bez recznego ssh-add) klucz prywatny do baremetala ma byc automatycznie dodany do ssh-agent. +- To jest wygodne, gdy po WG chcesz robic deploy/Ansible/ssh bez interakcji. + +Wymagania: +- VPS z systemd (Debian/Ubuntu). +- Klucz prywatny jest na VPS, np. ~/.ssh/mevnode_baremetal +- Klucz NIE powinien miec passphrase (inaczej ssh-add bedzie chcial hasla i usluga oneshot padnie). + +0) Plik klucza (prawa) + chmod 600 ~/.ssh/mevnode_baremetal + +1) Wlacz "linger" dla usera (zeby user services startowaly po boot bez logowania) + sudo loginctl enable-linger user + +2) Utworz usluge ssh-agent (systemd --user) + mkdir -p ~/.config/systemd/user + + cat >~/.config/systemd/user/ssh-agent.service <<'EOF' +[Unit] +Description=SSH agent + +[Service] +Type=simple +Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket +ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK + +[Install] +WantedBy=default.target +EOF + +3) Utworz usluge ssh-add dla klucza do baremetala (systemd --user) +Uwaga: dodajemy ExecStartPre, zeby poczekac az socket agenta bedzie gotowy. + + cat >~/.config/systemd/user/ssh-add-mevnode.service <<'EOF' +[Unit] +Description=ssh-add mevnode_baremetal +After=ssh-agent.service +Requires=ssh-agent.service + +[Service] +Type=oneshot +Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket +ExecStartPre=/usr/bin/sh -c 'for i in $(seq 1 50); do [ -S "$SSH_AUTH_SOCK" ] && exit 0; sleep 0.1; done; echo "SSH_AUTH_SOCK not ready: $SSH_AUTH_SOCK" >&2; exit 1' +ExecStart=/usr/bin/ssh-add %h/.ssh/mevnode_baremetal +RemainAfterExit=yes + +[Install] +WantedBy=default.target +EOF + +4) Reload i wlacz autostart + systemctl --user daemon-reload + systemctl --user enable --now ssh-agent.service ssh-add-mevnode.service + +5) Sprawdz dzialanie + systemctl --user status ssh-agent.service ssh-add-mevnode.service --no-pager + SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket" ssh-add -l + +6) Test SSH na baremetal (po WG) + ssh user@10.66.66.1 + +Wskazowka: +- Alternatywa bez ssh-agent: wpis w ~/.ssh/config z IdentityFile (nie wymaga ssh-add), + ale ten plik opisuje wariant stricte "auto ssh-add po reboot". +