mirror of
https://github.com/trailofbits/dropkit
synced 2026-06-21 14:11:54 +00:00
b118d4ed79
When waking a droplet hibernated with Tailscale lockdown, the snapshot's UFW rules block SSH on eth0 while Tailscale is logged out — creating a deadlock where SSH is needed to re-setup Tailscale but is blocked by the firewall. Fix by injecting a cloud-init user_data script that opens SSH on eth0 at first boot, which is cleaned up when lock_down_to_tailscale() resets UFW during Tailscale re-setup. Also adds wait_for_ssh() to verify SSH reachability before attempting Tailscale setup (replacing a blind sleep), and enhances the security warning when --no-tailscale is used with a previously locked snapshot. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>