When you log out, you want the ssh-agent process to be terminated automatically.
~/.bash_profile: trap 'test -n "$SSH_AGENT_PID" && eval `/usr/bin/ssh-agent -k`' 0
For csh or tcsh:
~/.logout: if ( "$SSH_AGENT_PID" != "" ) then eval `/usr/bin/ssh-agent -k` endif
SSH agents you invoke yourself don't die automatically when you log out: you must kill them explicitly. When you run an agent, it defines the environment variable SSH_AGENT_PID. [Recipe 6.9] Simply test for its existence and kill the agent with the -k option.