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 Uwagi: - Jesli `sudo ufw status verbose` pokazuje "Status: inactive", to reguly NIE dzialaja. - W takim wypadku wlacz UFW bezpiecznie (zostawiajac dostep przez WG): sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow 51820/udp sudo ufw allow in on wg0 to any port 22 proto tcp sudo ufw deny in on eth0 to any port 22 proto tcp 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"