Using Vultr Startup Scripts
·
2min
·
Dan F.
In a previous article, I wrote of my OpenBSD-Wireguard ansible configuration that I've been using for my personal VPN's recently.
Using Vultr's startup scripts in addition to the OpenBSD-Wireguard ansible playbook, one is able to deploy a wireguard VPN to any of Vultr's datacenters within ten minutes. This includes the OS installation by Vultr, as well as the playbook execution following a final reboot.
Startup scripts on Vultr are executed by the VPS immediately following the initial OS install.
- The startup script is saved to /tmp/firstboot.exec
- Output produced can be found in /tmp/firstboot.log
- Scripts are executed using /bin/bash (Linux), /bin/sh (FreeBSD), or cmd.exe (Windows)
I have been using the following script to deploy fresh wireguard servers whenever I feel like it. I will put up bandwidth results once I get around to some serious testing.
#!/bin/sh
admin_pass=<my password>
# Download and install OpenBSD-Wireguard
ftp -o - https://raw.githubusercontent.com/findelabs/openbsd-ansible-deploy/master/bootstraps/bootstrap_wireguard.sh | sh
# Set admin password
usermod -p $(encrypt $admin_pass) admin
# Run wgkeys to initialize wireguard
/home/admin/bin/wgkeys.sh
# Add public key to admin
echo "ssh-rsa AAAAB3N... admin@server" >> /home/admin/.ssh/authorized_keys
That's all there is to it.
Has been tested on OpenBSD 6.4