What is the output of $TERM when sitting at the workstation?
What is the output of $TERM when logged in via ssh from the Mac?
If they are different I would look there first.
Then looking at the key error, it could be the fact that your key is being loaded from /tmp. My public key is in ~/.ssh/authorized_keys and my private key is in ~/.ssh/id_rsa. The private key has permissions rw------- and the public key has permissions rw-r–r–
Where is your private key stored?
What are the ownership & permissions on the key in /tmp?
Eureka. Poking a bit more, I remembered I’d set a signing key within my ~/.gitconfig to enable gpg signing. Removing that fixed my git-commit issue over SSH. Still under why gpg signing works locally but not over SSH.
I’ve encountered this problem when trying to use GPG signing during an SSH session.
You likely need to configure your SSH sessions with access to ssh-agent. If you wanted to test this out, SSH onto your machine and run eval $(ssh-agent) before attempting your commit.