не через ssh;если вы не хотите распространять общедоступных, они могут войти в систему, и это ужасная идея.
Способ, которым мы получили эту функциональность в нашем gitolite, заключался в использовании git-daemon;вам нужно открыть новый порт, но вы можете указать для каждого репозитория, какие он будет обслуживать, и можете указать только для чтения.Пользователи будут клонировать с помощью протокола git, т.е.
git clone git: //domain.com/repositories/myrepo.git
Другой способ - установить репозиторий нанапрямую через веб-сервер;тогда пользователь может получить доступ по стандартному http.
Хорошим обзором является страница в сообществе git здесь , а также справочные страницы для git-daemon
.