How can I save my secret keys and password securely in my version control system?
===

I keep important settings like the hostnames and ports of development and production servers in my version control system. But I know that it's _bad practice_ to keep *secrets* (like private keys and database passwords) in a VCS repository.

But passwords--like any other setting--seem like they should be versioned. So what *is* the proper way to keep passwords version controlled?

I imagine it would involve keeping the *secrets* in their own "secrets settings" file and having *that* file encrypted and version controlled. But what technologies? And how to do this properly? Is there a better way entirely to go about it?

I ask the question generally, but in my specific instance I would like to store secret keys and passwords for a *Django/Python* site using *git* and *github*.
