#!/bin/sh # # Manage ssh-agent with Keychain: # # * https://www.funtoo.org/Funtoo:Keychain # * https://wiki.archlinux.org/title/SSH_keys#Keychain # # Check for keychain if [ -x '/usr/bin/keychain' ]; then mkdir -p $HOME/.keychain if [ -z "$FQDN" ]; then FQDN="`cat /etc/hostname`" fi # Setup keychain /usr/bin/keychain -q --noask if [ -e "$HOME/.keychain/$FQDN-sh" ]; then . $HOME/.keychain/$FQDN-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 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