I have several repositories inside a 'git' user which serves some other members, who all have access via ssh protocol to clone the repository. It's quite busy when having new project or member, I have to do some procedures step by step on the server shell.
It's need more configurations because it currently doesn't support custom user/repository permission, all is using git account and having access to all git repos inside.
This one is a nice cure: https://github.com/sitaramc/gitolite
This brilliant tool supports creating new repos, adding users, managing permissions,... smoothly and almost remotely at your local.
You could get the source code and all useful documents, guildelines on that project, so we don't need another guide here. Just take a look at the configure file to see its lovely simplicity:
RW+ = id_rsa_zniper_net
repo testing
RW+ = @all
If you append one or more repos with users and permissions there, then commit and push, the new repository will be create on remote side, automatically. Even public key files of new users, you also can add that to the local gitolite-admin/keydir/. New key will be pushed to target repository and will be worked with defined permissions.
Let have a try.