Add extra ssh config + keys
This commit is contained in:
31
ssh_extra_keys/generate_keypair.sh
Executable file
31
ssh_extra_keys/generate_keypair.sh
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if [ "${1:-}" = "-h" ] || [ "${1:-}" = "--help" ] || [ $# -ne 1 ]; then
|
||||
declare -r ARGV0=$(basename "${0:-generate-keypair.sh}")
|
||||
printf 'Usage: %s SERVICE_NAME\n' "$ARGV0" >&2
|
||||
cat <<'EOF' >&2
|
||||
Generate a new keypair for use in backup targets
|
||||
|
||||
Options:
|
||||
-h, --help Show this help and exit
|
||||
SERVICE_NAME The name of the service to generate a backup key for. Should not contain spaces.
|
||||
|
||||
Example usage:
|
||||
# Generate a new keypair for backuping some service 'my-service' state via rsync
|
||||
generate-keypair.sh my-service
|
||||
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
|
||||
declare -r PROJECT_ROOT="$(git rev-parse --show-toplevel)"
|
||||
declare -r KEYPATH="$PROJECT_ROOT/ssh_extra_keys/id_ed25519_$1_rsync_backup"
|
||||
|
||||
if [[ -f "$KEYPATH" ]]; then
|
||||
printf "$KEYPATH already exists...\n" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ssh-keygen -t ed25519 -b 4096 -C "$1 rsync backup" -f "$KEYPATH" -N ''
|
||||
Reference in New Issue
Block a user