[ -z "$PROFILEREAD" -a -r /etc/profile ] && source /etc/profile
+# Initialize keychain(1) ssh-agent and gpg-agent helper
+type keychain >/dev/null 2>&1 \
+ && eval `keychain --agents ssh --eval --quick --quiet`
+
# Interactive shell?
[ "$PS1" ] || return
[ -r ~/.bash_logout.user ] && source ~/.bash_logout.user
-# Clean up SSH agents, if running
-[ $SSH_AGENT_PID ] && eval `ssh-agent -k`
+# Clean up SSH agents, if running and not using keychain(1)
+if [ $SSH_AGENT_PID ]; then
+ type keychain >/dev/null 2>&1 || eval `ssh-agent -k`
+fi
# Clear the console if it is a local terminal
case `tty` in