#!/bin/bash set -e if [[ "$SSH_ASKPASS" == $0 ]]; then exec lpass show --field Passphrase $_KEYID fi if [[ -z "$1" ]]; then _key=$(lpass ls --color=never ssh | cut -d ' ' -f1 | fzf -1 -0) exec $0 $_key fi _tmp=$(mktemp -d) cd $_tmp mkdir -p $(dirname $1) ln -s /dev/stdin $1 function cleanup { rm -rf $_tmp } trap cleanup EXIT lpass show --field='Private Key' $1 | SSH_ASKPASS=$0 _KEYID=$1 ssh-add $1