3.5 KiB
name, description, version, author, license, metadata
| name | description | version | author | license | metadata | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| tailrescue-headscale-live-iso | Use when building, testing, or operating a Ventoy/iVentoy Debian Live rescue ISO that auto-enrolls into PharmQ Headscale/Tailscale for remote SSH and Windows/NTFS backup. | 1.0.0 | Hermes Agent | MIT |
|
TailRescue Headscale Live ISO
Overview
This project builds a Debian Live rescue ISO for field PCs. It should boot from Ventoy/iVentoy/Proxmox, get DHCP on common Ethernet NICs, enroll into https://head.pharmq.kr, start OpenSSH, and expose disk/NTFS read-only backup helpers.
Current Verified Baseline
- Build host:
pve7 - Test VM:
pve7VMID990 - Verified SSH over Tailnet:
rescue@100.64.0.80 - Verified commands:
rescue-status,list-disks - Verified packages:
tailscale,openssh-server,ntfs-3g, firmware packages - Verified ISO hash:
3d7995cfdf58c62f6ee167458079a7eaa1d2a79ac56e5f019cab1ec856943ddd
Repository Policy
Commit scripts, docs, templates, and this skill. Do not commit ISO files, rescue.env, preauth keys, passwords, private keys, live-build chroot/, binary/, cache/, or other build artifacts.
Build Flow
- Create a short-lived Headscale preauth key:
./scripts/headscale-create-preauth.sh
- Create local secrets:
cp templates/rescue.env.example rescue.env
cp templates/authorized_keys.example templates/authorized_keys
- Fill
rescue.envandtemplates/authorized_keyswithout committing them. - Build:
./scripts/build-live-iso.sh
Proxmox Test Flow
cp /root/tailrescue-dist/$(cat /root/tailrescue-dist/latest.txt) /var/lib/vz/template/iso/tailrescue-headscale-test.iso
./scripts/test-proxmox-vm.sh
ssh rescue@100.64.x.y 'echo SSH_OK; sudo -n true; rescue-status; list-disks'
Field Flow
- Copy ISO to Ventoy USB or iVentoy ISO folder.
- Boot target PC and select the ISO.
- Press Enter at Debian Live menu if needed.
- Wait 1-2 minutes.
- Find
tailrescue-*in Headscale. - SSH to
rescue@100.64.x.y. - Run
list-disks. - Mount Windows partition read-only:
sudo mount-ntfs-ro /dev/sdXN /mnt/windows
Ethernet Coverage
The ISO includes Debian 12 kernel and broad firmware: firmware-linux, firmware-linux-nonfree, firmware-misc-nonfree, firmware-realtek, firmware-atheros, firmware-brcm80211, firmware-bnx2, firmware-bnx2x, firmware-iwlwifi, firmware-libertas. Carry USB Ethernet dongles such as Realtek RTL8153/RTL8156 or ASIX AX88179 for field fallback.
Common Pitfalls
- SSH may connect but auth can fail if the rescue user is only created in firstboot. Keep the chroot hook that creates
rescue, sudoers, sshd config, and authorized keys at build time. - Headscale duplicate ephemeral nodes can appear because live ISOs reuse machine IDs. Use the newest online Tailnet IP.
- Never write to real rescue disks by default. Mount NTFS read-only.
- Separate Ventoy/iVentoy boot problems from Linux NIC/firmware problems.
- Rotate preauth keys and fallback passwords per field build.
Verification Checklist
- ISO boots in Proxmox VM.
- Headscale node appears as
tailrescue-*. ssh rescue@100.64.x.yworks with public key.sudo -n trueworks.rescue-statusshows LAN andtailscale0IPs.list-disksshows internal disks.ntfs-3g,ntfs-3g.probe, andntfsfixare present.- No secrets or ISO files are staged in Git.