| 1234567891011121314151617181920212223242526 |
- #!/usr/bin/env bash
- set -euo pipefail
- USER="${USER:-$(whoami)}"
- HOST="${HOST:-$(hostname)}"
- DATE="$(date +%F)"
- SSH_DIR="$HOME/.ssh"
- mkdir -p "$SSH_DIR"
- PASS_PATH="personal/ssh/$USER@$HOST/$DATE"
- # --- Temporary RAM-backed file for private key ---
- TMP_PRIV="/dev/shm/sshkey_$USER@$HOST$DATE"
- trap 'rm -f "$TMP_PRIV"' EXIT
- # Generate Ed25519 key pair into RAM
- ssh-keygen -t ed25519 -f "$TMP_PRIV" -N "" -q
- # Insert private key into pass
- cat "$TMP_PRIV" | pass insert --multiline --force "$PASS_PATH"
- echo "Private key stored in pass at $PASS_PATH"
- # Extract public key from the same temp file
- ssh-keygen -y -f "$TMP_PRIV" > "$SSH_DIR/$USER@$HOST.pub"
- echo "Public key written to $SSH_DIR/$USER@$HOST.pub"
- # Private key removed from /dev/shm automatically
|