Sudo git como otro usuario con ssh-agent para acceder a la key

Tengo la configuration de ssh-agent para el usuario www-data y la contraseña guardada para la key privada

desde la raíz, necesito ejecutar "sudo -u www-data git pull" para que no pida la contraseña de la key privada git. sudo no ejecuta el script .bashrc, por lo que no está seguro de cómo hacerlo?

¿alguna sugerencia?

Tal vez quieras la opción -i ? Del man sudo :

-i [command]

La opción -i (simular inicio de session) ejecuta el shell especificado en la input passwd (5) del usuario de destino como un shell de inicio de session. Esto significa que los files de resources específicos de inicio de session como .profile o .login serán leídos por el shell. Si se especifica un command, se pasa al shell para su ejecución. De lo contrario, se ejecuta un shell interactivo.

Hago esto, y hago un ssh-add como parte de mi .bash_profile:

 sudo -u otherusername ssh-agent bash -l 

Lamentablemente, parece que no tengo ningún historial cuando uso la flecha hacia arriba cuando hago esto. Lo hago, sin embargo, cuando ejecuto el mismo command less la parte sudo.

Por cierto, esto es lo que tengo en mi perfil bash para iniciar automáticamente ssh-agent (solo una vez) y agregar una key RSA (solo una vez):

 # Start ssh-agent & add key if [[ -z $SSH_AGENT_PID ]]; then echo Starting ssh-agent automatically... ssh-agent bash -l elif [[ 0 == `ssh-add -l | grep "(RSA)" -c` ]]; then echo Adding ssh key automatically... # you might have your key in a different location: ssh-add ~/.ssh/idents/id_rsa fi