#!/bin/bash # # Load a key into the ssh-agent # # Parameters BASENAME="`basename $0`" KEYS="$HOME/.ssh/keys" TYPE="$1" HANDLE="$2" KEY="$KEYS/$TYPE/$HANDLE" # Check if [ -z "$HANDLE" ]; then echo "usage: $BASENAME " echo "available keys:" echo "" ( cd $HOME/.ssh/keys && find -name '*.pub' ) | grep -v decomissioned | sed -e 's/^/\t/' exit 1 elif [ ! -e "$KEY" ]; then echo "$BASENAME: file not found: $KEY" exit 1 fi # Check if the selected option has a custom procedure (monkeysphere, keyringer, etc) if [ -x "$KEY.askpass" ]; then # SSH-ADD(1) says: "Note that on some machines it may be necessary to redirect the input from /dev/null to make this work". SSH_ASKPASS="$KEYS.askpass" ssh-add $KEY < /dev/null else ssh-add $KEY fi