automate/010_generate-ssh.sh

58 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# FIXME: Rather just creating these files in tmp move the actions into the loop blow.
LOCAL_USER_EMAIL=cyteen@ring-zero.co.uk
cat > /tmp/generate-ssh-key.sh << EOF
ssh-keygen -t rsa -b 4096 -N '' -C "${LOCAL_USER_EMAIL}" -f ~/.ssh/id_rsa
ssh-keygen -t rsa -b 4096 -N '' -C "${LOCAL_USER_EMAIL}" -f ~/.ssh/github_rsa
ssh-keygen -t rsa -b 4096 -N '' -C "${LOCAL_USER_EMAIL}" -f ~/.ssh/mozilla_rsa
ssh-keygen -t rsa -b 4096 -N '' -C "${LOCAL_USER_EMAIL}" -f ~/.ssh/gitlab_rsa
EOF
cat > /tmp/ssh-key-add.sh << EOF
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/github_rsa
ssh-add ~/.ssh/mozilla_rsa
ssh-add ~/.ssh/gitlab_rsa
EOF
cat > /tmp/ssh-key-permissions.sh << EOF
chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
chmod 644 ~/.ssh/known_hosts
chmod 644 ~/.ssh/config
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 600 ~/.ssh/gitlab_rsa
chmod 644 ~/.ssh/gitlab_rsa.pub
chmod 600 ~/.ssh/github_rsa
chmod 644 ~/.ssh/github_rsa.pub
chmod 600 ~/.ssh/mozilla_rsa
chmod 644 ~/.ssh/mozilla_rsa.pub
EOF
DEST=/etc/skel
cat > ${DEST}/.zprofile <<'EOF'
if [ -f ${HOME}/.ssh/id_rsa.pub ]; then
chmod 644 ${HOME}/.ssh/id_rsa.pub
exit 0
else
echo "Generating ssh keys."
ssh-keygen -q -t rsa -N '' -f ${HOME}/.ssh/id_rsa 2>/dev/null <<< y >/dev/null
chmod 644 ${HOME}/.ssh/id_rsa.pub
fi
EOF
chmod +x ${DEST}/.zprofile
# System keys
ssh-keygen -A
# Root user keys
ssh-keygen -q -t rsa -N '' -f ${HOME}/.ssh/id_rsa 2>/dev/null <<< y >/dev/null