Ok, então consegui que funcionasse depois de mexer por um tempo e ler a manpage gpg-agent aqui . Eu precisava adicionar
unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
export SSH_AUTH_SOCK="${HOME}/.gnupg/S.gpg-agent.ssh"
fi
ao meu .bashrc para o SSH_AUTH_SOCK apontar para o local correto em vez do ssh-agent.