This commit is contained in:
nick committed 2026-07-15 21:09:29 -07:00
1 parent c49055d4dd
commit 0cf834f8fe
2 files changed
+12 -5

No files matched your search

+5 -2
View File
@@ -40,12 +40,15 @@ console, not SSH:
```bash
cp inventory.example.yml inventory.yml
ansible-playbook bootstrap.yml # root already has your key
ansible-playbook bootstrap.yml -k # root password login (needs sshpass)
ansible-playbook bootstrap.yml
# custom key or username:
ansible-playbook bootstrap.yml -e bootstrap_ssh_public_key_file=~/.ssh/vpnhub.pub
```
It prompts for the root SSH password up front (install `sshpass` on the
control node for password auth). If root already logs in with your key,
just press Enter at the prompt.
Everything after this runs as `ansible` (already the inventory example's
default).
+7 -3
View File
@@ -68,9 +68,13 @@ manually issued). Export the issuing CA chain as PEM →
## 6. Duo Admin Panel
Applications → Protect an Application → **OpenVPN** (RADIUS). Copy the
integration key, secret key, and API hostname into `.env`. Recommended
policy: enrolled users only; new-user policy deny.
Applications → Protect an Application → search **RADIUS** → Protect.
(Not the "OpenVPN" catalog entry — that one is for Duo's server-side
plugin, not the Auth Proxy `radius_server_auto` flow we use.) Copy the
integration key, secret key, and API hostname into `.env` /
`group_vars/vpnhub.yml`. Set username normalization to **Simple** so
`user`, `DOMAIN\user`, and `user@domain` all map to one Duo user.
Recommended policy: new-user policy deny (enrolled users only).
## 7. Public DNS