Step 001: Kolejnosc wdrozenia (najpierw WireGuard, potem odciecie publicznego SSH)

Cel: najpierw stawiamy WireGuard i testujemy polaczenie po WG, a dopiero potem ucinamy publiczne SSH.
To minimalizuje ryzyko zablokowania sie na baremetalu.

0) Pre-flight (nie zamykaj obecnej sesji SSH)
- Na baremetalu zostaw otwarta aktualna sesje SSH.
- Przygotuj drugi terminal do testow.

Sprawdz publiczny interfejs/IP routing:
  ip route get 1.1.1.1

1) WireGuard na baremetalu (nie ruszaj SSH/firewall poza WG portem)
  sudo apt-get update
  sudo apt-get install -y wireguard

Jesli uzywasz skryptu:
  sudo /usr/local/sbin/wg_serverctl.py gen-server --force
  sudo /usr/local/sbin/wg_serverctl.py gen-client client1
  sudo /usr/local/sbin/wg_serverctl.py add client1
  sudo /usr/local/sbin/wg_serverctl.py export client1

Uruchom WG na serwerze:
  sudo systemctl enable --now wg-quick@wg0
  sudo wg show
  ip a show wg0

2) WireGuard na kliencie i test polaczenia
Na kliencie:
  sudo apt-get update
  sudo apt-get install -y wireguard
  sudo /usr/local/sbin/wg_client.py install ./client1.conf
  sudo /usr/local/sbin/wg_client.py up
  sudo /usr/local/sbin/wg_client.py status

Testy (z klienta):
  ping 10.66.66.1
  ssh user@10.66.66.1

Dopiero jak to dziala, idziesz dalej.

3) (Opcjonalnie teraz) UFW: wpusc WG, ale NIE odcinaj jeszcze publicznego SSH
Na baremetalu:
  sudo apt-get install -y ufw
  sudo ufw allow 51820/udp
  sudo ufw allow 22/tcp   (tymczasowo, zeby nic nie uciac przy wlaczaniu UFW)
  sudo ufw enable
  sudo ufw status verbose

4) Przestawienie SSH na "tylko WireGuard"
1) Najpierw pozwol na SSH po wg0:
  sudo ufw allow in on wg0 to any port 22 proto tcp

2) Potem ogranicz sshd do WG IP:
  sudo sshd -t
  sudoedit /etc/ssh/sshd_config

Dodaj/ustaw:
  PasswordAuthentication no
  PermitRootLogin no
  ListenAddress 10.66.66.1

Restart i test:
  sudo systemctl restart ssh

Z klienta:
  ssh user@10.66.66.1

3) Jak test przeszedl: zablokuj publiczne SSH:
  sudo ufw deny 22/tcp
  sudo ufw status verbose

5) RPC tylko po WG (po instalacji Agave)
Docelowo:
- bind RPC/WS na 10.66.66.1 (wg0)
- UFW: allow 8899/8900 tylko "in on wg0"

