Skip to content

Instantly share code, notes, and snippets.

@ParaN3xus
Created February 5, 2026 05:03
Show Gist options
  • Select an option

  • Save ParaN3xus/dd8781d82b2ff7612ca5c12058d2f0c5 to your computer and use it in GitHub Desktop.

Select an option

Save ParaN3xus/dd8781d82b2ff7612ca5c12058d2f0c5 to your computer and use it in GitHub Desktop.
age-enc
#!/bin/bash
PUBKEY_PATH=$1
if [ -z "$PUBKEY_PATH" ] || [ ! -f "$PUBKEY_PATH" ]; then
echo "Usage: echo 'content' | $0 <path to the pub key>"
exit 1
fi
KEY_CONTENT=$(cat "$PUBKEY_PATH")
if [[ "$KEY_CONTENT" == ssh-ed25519* ]]; then
ID_FILE="id_ed25519"
elif [[ "$KEY_CONTENT" == ssh-rsa* ]]; then
ID_FILE="id_rsa"
elif [[ "$KEY_CONTENT" == ecdsa-sha2* ]]; then
ID_FILE="id_ecdsa"
else
ID_FILE="id_rsa" # default
fi
ENCRYPTED_DATA=$(cat | age -a -R "$PUBKEY_PATH" 2>/dev/null)
if [ -z "$ENCRYPTED_DATA" ]; then
echo "Failed to encrypt!"
exit 1
fi
echo "cat << 'EOF' | age -d -i ~/.ssh/$ID_FILE"
echo "$ENCRYPTED_DATA"
echo "EOF"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment