Typo corrections.

This commit is contained in:
cyteen 2024-05-19 10:50:55 +01:00
parent cf035897c7
commit 6c97063624
1 changed files with 27 additions and 25 deletions

View File

@ -1,33 +1,32 @@
#!/usr/bin/env bash
# Adding a new key requires:
# * the key name must be added to ssh_keys list
# * the key and the corresponding URL must be added to the ssh_configs array
HOME=${1:-/etc/skel}
LOCAL_USER_EMAIL=cyteen@ring-zero.co.uk
KEY_SCRIPTS_DIR="/tmp/gen_ssh_keys"
mkdir -p "${KEY_SCRIPTS_DIR}"
# Define an array of SSH key names
# Define an list of SSH key names
ssh_keys=("id_rsa" "devuan_rsa" "debian_rsa" "github_rsa" "gitlab_rsa" "gitea_rsa")
# conf_print_resolvconf() {
# cat <<-EOF
# EOF
# }
# conf_print_hostname | sudo tee $strapdir/etc/resolvconf >/dev/null
# Configure ohmyzsh to look for specific keys dynamically
cat <<-FOE | tee "${KEY_SCRIPTS_DIR}"/set-zstyle.sh >/dev/null
cat <<-FOE | tee ${KEY_SCRIPTS_DIR}/set-zstyle.sh >/dev/null
#!/bin/bash
cat <<-EOF | tee -a "${HOME}"/.zshrc.pre-plugins.d/001_ssh-agent >/dev/null
mkdir -p ${HOME}/.zshrc.pre-plugins.d/001_ssh-agent
cat <<-EOF | tee -a ${HOME}/.zshrc.pre-plugins.d/001_ssh-agent >/dev/null
zstyle :omz:plugins:ssh-agent identities $(printf "%s " "${ssh_keys[@]}")
EOF
FOE
# Generate SSH keys script
cat <<-EOF | tee "${KEY_SCRIPTS_DIR}"/generate-ssh-key.sh >/dev/null
cat <<-EOF | tee ${KEY_SCRIPTS_DIR}/generate-ssh-key.sh >/dev/null
#!/bin/bash
LOCAL_USER_EMAIL=${LOCAL_USER_EMAIL}
HOME=${HOME}
for key in ${ssh_keys[@]}; do
@ -36,8 +35,9 @@ cat <<-EOF | tee "${KEY_SCRIPTS_DIR}"/generate-ssh-key.sh >/dev/null
EOF
# Add keys to ssh-agent script
cat <<-EOF | tee "${KEY_SCRIPTS_DIR}"/ssh-key-add.sh >/dev/null
cat <<-EOF | tee ${KEY_SCRIPTS_DIR}/ssh-key-add.sh >/dev/null
#!/bin/bash
HOME=${HOME}
eval "\$(ssh-agent -s)"
for key in ${ssh_keys[@]}; do
@ -46,8 +46,9 @@ cat <<-EOF | tee "${KEY_SCRIPTS_DIR}"/ssh-key-add.sh >/dev/null
EOF
# Set permissions for SSH keys and directories script
cat <<-EOF | tee "${KEY_SCRIPTS_DIR}"/ssh-key-permissions.sh >/dev/null
cat <<-EOF | tee ${KEY_SCRIPTS_DIR}/ssh-key-permissions.sh >/dev/null
#!/bin/bash
HOME=${HOME}
chmod 700 "\$HOME/.ssh"
chmod 644 "\$HOME/.ssh/authorized_keys"
@ -61,8 +62,9 @@ cat <<-EOF | tee "${KEY_SCRIPTS_DIR}"/ssh-key-permissions.sh >/dev/null
EOF
# Configure preferred keys for each host script
cat <<-EOF | tee "${KEY_SCRIPTS_DIR}"/ssh-config.sh >/dev/null
cat <<-EOF | tee ${KEY_SCRIPTS_DIR}/ssh-config.sh >/dev/null
#!/bin/bash
HOME=${HOME}
declare -A ssh_configs=(
["git2.ring-zero.co.uk"]="gitea_rsa"
@ -73,13 +75,13 @@ cat <<-EOF | tee "${KEY_SCRIPTS_DIR}"/ssh-config.sh >/dev/null
["salsa.debian.org"]="debian_rsa"
)
for host in "\${!ssh_configs[@]}"; do
cat <<-EOF2 | sudo tee -a "\$HOME/.ssh/config" >/dev/null
cat <<-FOE | sudo tee -a "\$HOME/.ssh/config" >/dev/null
Host \$host
User git
Preferredauthentications publickey
IdentityFile "\$HOME/.ssh/\${ssh_configs[\$host]}"
EOF2
FOE
done
EOF
@ -88,17 +90,17 @@ EOF
chmod +x ${KEY_SCRIPTS_DIR}/*.sh
# Execute scripts
# "${KEY_SCRIPTS_DIR}"/set-zstyle.sh
# "${KEY_SCRIPTS_DIR}"/generate-ssh-key.sh
# "${KEY_SCRIPTS_DIR}"/ssh-key-add.sh
# "${KEY_SCRIPTS_DIR}"/ssh-key-permissions.sh
# "${KEY_SCRIPTS_DIR}"/ssh-config.sh
"${KEY_SCRIPTS_DIR}"/set-zstyle.sh
"${KEY_SCRIPTS_DIR}"/generate-ssh-key.sh
"${KEY_SCRIPTS_DIR}"/ssh-key-add.sh
"${KEY_SCRIPTS_DIR}"/ssh-key-permissions.sh
"${KEY_SCRIPTS_DIR}"/ssh-config.sh
# Generate system keys
ssh-keygen -A
# Generate root user keys if not present
if [ ! -f "${HOME}"/.ssh/id_rsa.pub ]; then
ssh-keygen -q -t rsa -N '' -f "${HOME}"/.ssh/id_rsa 2>/dev/null <<< y >/dev/null
chmod 644 "${HOME}"/.ssh/id_rsa.pub
if [ ! -f ${HOME}/.ssh/id_rsa.pub ]; then
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