As far as I'm aware,
passwd doesn't change the keychain password on Mac OS X. Is there a way to do this properly from the command line with a single command? If not, what about with multiple commands?
You can use
$ security set-keychain-password Old Password: New Password: Retype New Password: $
The password and keychain can also be specified as arguments:
security set-keychain-password -o oldpassword -p newpassword file.keychain