#! /bin/sh -efu

[ "$#" -eq 2 ] || {
	echo >&2 "Usage: USERNAME KEYFILE"
	exit 1
}
u="$1"; shift
k="$1"; shift

printf %s "$u" |grep -Eqx '[[:alpha:]][[:alnum:]_]+' || {
	echo >&2 "$0: invalid username"
	exit 1
}

cat -- "$k" > /dev/null

if getent passwd "$u" > /dev/null 2>&1; then
	exit 0
fi

useradd "$u"
hasher-useradd "$u"

[ -f /etc/openssh/authorized_keys/"$u" ] ||
	install -pm644 "$k" /etc/openssh/authorized_keys/"$u"
