Ce sont toutes de très bonnes réponses. Je le fais de manière légèrement différente. Après avoir démarré une nouvelle session ssh et rattaché l'écran, je réinitialise la fonction SSH_AUTH_SOCK
basée sur le contenu de l'environnement root bash. Je n'ai besoin de l'accès à l'agent ssh qu'occasionnellement lorsque j'utilise svn, donc je réinitialise simplement la variable d'environnement SSH_AUTH_SOCK
comme requis dans ces coquilles.
Il utilise le système de fichiers proc et est donc spécifique à linux. Je ne l'ai testé que sur une machine linux sans tête à laquelle je suis le seul à accéder, il faudra peut-être quelques ajustements pour que cela fonctionne dans d'autres environnements.
Pour réinitialiser SSH_AUTH_SOCK (on pourrait en faire un alias).
$ . ~/bin/screen_auth.sh
screen_auth.sh ressemble à ceci
# Find the pid of putty's bash shell
tty=`who | awk '/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/ { print substr($2, 5) }'`
pid=`ps -t $tty | grep bash | awk '{print $1}'`
# Find the SSH_AUTH_SOCK variable in its enviornment
auth_sock=`xargs --null --max-args=1 echo < /proc/$pid/environ | grep SSH_AUTH_SOCK`
eval "export $auth_sock"