Not sure is this by design or a bug: rm -f ~/.keychainrc killall ssh-agent exit After that during login /etc/profile.d/keychain.sh is not doing anything because it requires ~/.keychainrc to do the actual work. I think one expects .keychainrc to be for additional options, not a requirement, so missing ~/.keychainrc should not prevent initialization of keychain.
Initializing keychain without .keychainrc means that keychain is invoked whenever a user logs in to the system. I don't think it's a very good idea because it won't be useful for users who don't need/want to use keychain.
Yep, after thinking this a bit more I fully agree. I'll close this one.