#!/bin/bash # # Load keys into the ssh-agent # Uses monkeysphere and keychain # # Check for keychain if [ -x '/usr/bin/keychain' ]; then mkdir -p $HOME/.keychain # Setup keychain /usr/bin/keychain -q --noask # Load ssh-agent info if [ -e "$HOME/.keychain/$HOSTNAME-sh" ]; then . $HOME/.keychain/$HOSTNAME-sh fi # Load gpg-agent info #if [ -e "$HOME/.keychain/$HOSTNAME-sh-gpg" ]; then # . $HOME/.keychain/$HOSTNAME-sh-gpg #fi # Check for monkeysphere if [ -x '/usr/bin/monkeysphere' ]; then #if ! ssh-add -l &> /dev/null && [ "`gpg --list-secret-keys | wc -l`" != "0" ]; then # From MONKEYSPHERE(1): "The MONKEYSPHERE_SUBKEYS_FOR_AGENT environment can be used to specify the full # fingerprints of specific keys to add to the agent (space separated), instead # of adding them all." if [ ! -z "$MONKEYSPHERE_SUBKEYS_FOR_AGENT" ]; then monkeysphere subkey-to-ssh-agent fi fi # Check for RSA key if [ -e "$HOME/.ssh/id_rsa" ]; then /usr/bin/keychain -q $HOME/.ssh/id_rsa fi # Check for ED25519 key if [ -e "$HOME/.ssh/id_ed25519" ]; then /usr/bin/keychain -q $HOME/.ssh/id_ed25519 fi # Autoload remaining keys if [ -d "$HOME/.ssh/autoload" ]; then for key in `ls $HOME/.ssh/autoload`; do /usr/bin/keychain -q $HOME/.ssh/autoload/$key done fi fi