DenyHosts, http://denyhosts.sourceforge.net/, is a good project I have had luck with. If you set denyhosts up to synchronize it will download new IPs to add to a ban list that have had to bruteforce other systems using denyhosts. It also expires IPs that have not tried to brute force for a while.
Using public key authentication and disabling password logging is probably the best thing you could do though. Defeats any brute force attacks.