#!/usr/bin/env bash # For this to work, you also need to import the public key of any private key you want to use # in the target server's pubring first. if [ -z "$1" ];then printf "USAGE: %b TARGET [OPTIONS...]\\n" "$(basename "$0")" >&2 exit 1 fi TGT="$1" REMUID="$(ssh "$TGT" "id -u")" ssh "$TGT" 'killall gpg-agent 2>/dev/null;rm -f /run/user/$(id -u)/gnupg/S.*' if [ -z "$REMUID" ];then printf "Cannot fetch user id from %b.\\n" "$TGT" >&2 exit 2 fi ssh -R "/run/user/${REMUID}/gnupg/S.gpg-agent":"/run/user/$(id -u)/gnupg/S.gpg-agent-extra" -o "StreamLocalBindUnlink=yes" "$TGT" "${@:2}"