Skip to content

Instantly share code, notes, and snippets.

@sleshJdev
Last active October 15, 2022 11:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sleshJdev/3bb59b446cc5af43af227765297fdbb4 to your computer and use it in GitHub Desktop.
Save sleshJdev/3bb59b446cc5af43af227765297fdbb4 to your computer and use it in GitHub Desktop.
SSH script to manage manager users on remote host: create user, add public key
set -euo pipefail
DEV_GROUP="somegroup"
sudo groupadd --force "${DEV_GROUP}"
function adduser() {
local var_user="$1"
shift
local var_ssh_pub_key="$*"
id --user "${var_user}" &>/dev/null || sudo useradd --gid "${DEV_GROUP}" --groups wheel,docker "${var_user}"
echo "${var_user} ALL=(ALL) NOPASSWD:ALL" | sudo tee "/etc/sudoers.d/${var_user}"
sudo --user "${var_user}" mkdir -p "/home/${var_user}/.ssh"
sudo --user "${var_user}" touch "/home/${var_user}/.ssh/authorized_keys"
echo "${var_ssh_pub_key}" | sudo --user "${var_user}" tee "/home/${var_user}/.ssh/authorized_keys"
}
adduser someuser ssh-rsa AAAAB3NzaC1.... user@host
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment