32 lines
640 B
Bash
Executable File
32 lines
640 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
# POS: ssh load-keys — Load all SSH keys into the agent
|
|
|
|
usage() {
|
|
cat <<EOF
|
|
Usage: pos ssh load-keys
|
|
|
|
Load all SSH private keys into the ssh-agent.
|
|
|
|
Requires ssh-agent.service running (socket at /run/ssh-agent/socket).
|
|
EOF
|
|
exit 0
|
|
}
|
|
|
|
case "${1:-}" in
|
|
-h|--help) usage ;;
|
|
esac
|
|
|
|
export SSH_AUTH_SOCK="${SSH_AUTH_SOCK:-/run/ssh-agent/socket}"
|
|
|
|
for key in ~/.ssh/id_*; do
|
|
[ -f "$key" ] || continue
|
|
case "$key" in
|
|
*.pub|known_hosts|authorized_keys|config) continue ;;
|
|
esac
|
|
ssh-keygen -y -f "$key" &>/dev/null || continue
|
|
ssh-add "$key" 2>/dev/null
|
|
done
|
|
|
|
ssh-add -l
|