--- /dev/null
+---
+title: Adduser
+homepage: https://webinstall.dev/adduser
+tagline: |
+ Because friends don't let friends run as root
+linux: true
+description: |
+ Adds user `bob` with the same **`~/.ssh/authorized_keys`** as the root user, exiting early if run by a non-root user.
+---
+
+Check that `bob` exists
+
+```bash
+ls /home/
+```
--- /dev/null
+#!/bin/bash
+
+set -e
+set -u
+
+# TODO: a more complete VPS setup
+
+# TODO would $EUID be better?
+if [ "root" != "$(whoami)" ]; then
+ echo "webi adduser: running user is already a non-root user"
+ exit 0
+fi
+
+#apt-get -y update
+#apt-get -y install curl wget rsync git
+
+# Add User
+adduser --disabled-password --gecos "" bob
+my_password=$(openssl rand -hex 16)
+printf "$my_password"'\n'"$my_password" | passwd bob
+adduser bob sudo
+echo "bob ALL=(ALL:ALL) NOPASSWD: ALL" | tee /etc/sudoers.d/bob
+sudo -i -u bob bash -c 'ssh-keygen -b 2048 -t rsa -f /home/bob/.ssh/id_rsa -q -N ""'
+mkdir -p /home/bob/.ssh/
+cp -r $HOME/.ssh/authorized_keys /home/bob/.ssh/
+chmod 0600 bob:bob /home/bob/.ssh/authorized_keys
+chown -R bob:bob /home/bob/.ssh/
+
+# Install webi for the new user
+sudo -i -u bob bash -c 'curl -fsSL https://webinstall.dev/webi | bash' \
+ || sudo -i -u bob bash -c 'wget -q -O - https://webinstall.dev/webi | bash'
+
+# TODO ensure that ssh-password login is off
+
+echo "Created user 'bob' with password '$my_password'"
--- /dev/null
+---
+title: SSH Pub Key
+homepage: https://webinstall.dev/ssh-pubkey
+tagline: |
+ Get your SSH public key.
+linux: true
+description: |
+ `ssh-pubkey` will make sure you have an SSH key, and then print it to the screen and place it in `~/Downloads`
+---
--- /dev/null
+#!/bin/bash
+
+set -e
+set -u
+
+mkdir -p "$HOME/.ssh/"
+
+if [ ! -f "$HOME/.ssh/id_rsa" ]; then
+ ssh-keygen -b 2048 -t rsa -f "$HOME/.ssh/id_rsa" -q -N ""
+ echo ""
+fi
+
+if [ ! -f "$HOME/.ssh/id_rsa.pub" ]; then
+ ssh-keygen -y -f "$HOME/.ssh/id_rsa" > "$HOME/.ssh/id_rsa.pub"
+ echo ""
+fi
+
+# TODO use the comment (if any) for the name of the file
+echo ""
+echo "~/Downloads/id_rsa.$(whoami).pub":
+echo ""
+rm -f "$HOME/Downloads/id_rsa.$(whoami).pub":
+cp -r "$HOME/.ssh/id_rsa.pub" "$HOME/Downloads/id_rsa.$(whoami).pub"
+cat "$HOME/Downloads/id_rsa.$(whoami).pub"
+echo ""
--- /dev/null
+---
+title: SSH setpass
+homepage: https://webinstall.dev/ssh-setpass
+tagline: |
+ Set a new passphrase on your SSH Private Key.
+linux: true
+description: |
+ `ssh-setpass` will ask you for your old passphrase and then for the new one to reset it with.
+---
--- /dev/null
+#!/bin/bash
+
+set -e
+set -u
+
+ssh-keygen -p -f "$HOME/.ssh/id_rsa"