diff --git a/pct_public_key.sh b/pct_public_key.sh new file mode 100644 index 0000000..bed1203 --- /dev/null +++ b/pct_public_key.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# Define the public key to add +PUBLIC_KEY="YOUR_PUBLIC_KEY_STRING_HERE" # <--- REPLACE THIS WITH YOUR ACTUAL PUBLIC KEY + +# Define file paths +SSH_DIR="$HOME/.ssh" +AUTHORIZED_KEYS_FILE="$SSH_DIR/authorized_keys" + +# Create .ssh directory and set permissions if it doesn't exist +mkdir -p "$SSH_DIR" && chmod 700 "$SSH_DIR" || { echo "Error: Could not create or set permissions for $SSH_DIR. Exiting."; exit 1; } + +# Create authorized_keys file and set permissions if it doesn't exist +touch "$AUTHORIZED_KEYS_FILE" && chmod 600 "$AUTHORIZED_KEYS_FILE" || { echo "Error: Could not create or set permissions for $AUTHORIZED_KEYS_FILE. Exiting."; exit 1; } + +# Check if the key already exists to prevent duplicates +if grep -qF "$PUBLIC_KEY" "$AUTHORIZED_KEYS_FILE"; then + echo "Key already exists in $AUTHORIZED_KEYS_FILE. No changes made." +else + # Add the key + echo "$PUBLIC_KEY" >> "$AUTHORIZED_KEYS_FILE" + echo "Key successfully added to $AUTHORIZED_KEYS_FILE." +fi \ No newline at end of file