¿Cuál es la mejor forma de compartir el socket de authentication SSH con otro usuario?

Estoy usando Ansible para configurar un server remoto y estoy usando el reenvío de agente SSH para git clone un repository de bitbucket.org para usar mi key SSH local, porque estoy usando sudo . Estoy preservando la variable de entorno SSH_AUTH_SOCK usando un file en el directory /etc/sudoers.d/ que contiene:

 Defaults env_keep += SSH_AUTH_SOCK 

Lo que de hecho está haciendo que esta variable de entorno esté disponible cuando se usa sudo , el problema es cuando quiero clonar como otro usuario web que no tiene permiso para acceder al file de socket disponible en SSH_AUTH_SOCK .

Actualmente estoy configurando la propiedad del directory de socket recursivamente para este usuario, por lo que no 0777 permissions 0777 para el file socket.

 $ ls -l /tmp drwx------ 2 web web 4096 Aug 7 09:09 ssh-PcIG22W1CM 

Todo esto se hace usando Ansible, pero no estoy compartiendo el código de Ansible ya que este problema se aplica a cualquier otra situación.

¿Cuál es la mejor práctica para compartir este file de socket sin dar permissions de rwx para todos?

Como root, puede conectar el socket con:

 socat UNIX-LISTEN:/var/run/authsocket.sock,umask=077,user=dev,fork "UNIX:$SSH_AUTH_SOCK" 

En Linux , esto evitará que otros usuarios se connect() a este socket.

En Linux, podría sentirse tentado a establecer una ACL en el socket ( setfacl user:$user:w $SSH_AUTH_SOCK ) pero esto no funcionará porque el cliente OpenSSH comtesting el EUID del socket y solo permite el propietario y la raíz.