docs(step1): add txt auto ssh-add baremetal key after reboot
This commit is contained in:
68
doc/step-001-auto-ssh-add-baremetal-key-after-reboot.txt
Normal file
68
doc/step-001-auto-ssh-add-baremetal-key-after-reboot.txt
Normal file
@@ -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".
|
||||
|
||||
Reference in New Issue
Block a user