ain't was originally a contraction of "am not" or "are not," and should only be used in the first person. However, as it has still not been accepted into "proper" English like its counterparts won't and can't, few people see any problem with further "misuse" of the word.
"I ain't got no money" literally means "I am not got no money," which makes no sense at all, but is nonetheless understood to mean "I have no money."
It is an example of a double negative, where the contraction "n't" and the following "not" should cancel each other out. However, very few people realize (or care) about this, and the phrase remains in common use.