Has anyone gotten distribute to work correctly with github, specifically private repositories?
If you know, that "pip" works, why don't you just use "pip"?  "pip" can not only install from a package index, but also from a local source directory.  Just use pip install . instead of python setup.py install.
Concerning your impression, it is indeed wrong.  "pip" and "distribute" are altogether different projects with different aims.  "pip" is a frontend to the distutils/setuptools API, trying to replace the rather weird "easy_install" frontend, whereas "distribute" is an alternative implementation of the backend "setuptools" API (which only includes an "easy_install" implementation for the sake of compatibility).  "pip" isn't tied to "distribute" and also works with the old "setuptools" implementation.
I'd therefore recommend to always use "pip" for all package installations, and to never use "easy_install" or "python setup.py install".  "pip" just works, whereas the other two are somewhat strange.
I built a small micro framework for our web service / web app and have it hosted it in a private repository on github. 
I've added the private github repo in the dependency_links and have verified that it exists in dependency_links.txt
When I execute python setup.py install, I get unknown url type: git+ssh, so I looked deeper into the code and realized that distribute only has support for svn+ url types. I was under the (apparently wrong) impression that distribute used pip under the hood, but looks like it still uses easy_install.
Has anyone found a solution to using distutils / distribute to install private github repos as dependencies?