I love the option to connect to servers via SSH with the -A option, so I can use my private keys on the server.
This lets me update git/svn repositories and connect to other servers without the need of uploading the private key to the server.
Awesome!
But how does it work?
My concern is that the private key is temporary accessible on the server. And if the server is compromised, or another user is logged in as root somehow, it could be accessed.
Is that the case?
I examined the content of /tmp where a folder named ssh-something
is present with a socket named ssh-something
inside.
This gives me hope that the necessary handshake requests are passed on to my local machine, and are processed/signed there and my private key does not actually ever leave my local machine.
Is that the case?