We've just started using Git in our workplace and though we're learning a lot using Git on our local systems, there's one thing that we haven't been able to do yet.
I want to create a repository on my system which should be accessible to other systems on my network for clone, pull, push etc. commands.
I read around and found out that here's what I need to do:
1.Create a bare repo on my system (say, System A) using the following command:
git init --bare --shared=all
2.Then, if I want the user on System B to have access to my repo on System A, here's what I need to do:
i.Generate a public-private key pair for the user on System B by running the following command on user B's gitbash:
ssh-keygen
ii.Copy user B's public key and paste it in my (i.e. System A) ~/.ssh folder. Suppose the name of user B's public key is userb.pub
And this is where I'm stuck:
iii.Add user B's public key (userb.pub) to the list of authorized keys on my system.
*But I can't find any file called authorized_keys in my ~/.ssh folder!*
And even if I created my own authorized_keys file, how would I add all of the public keys to it? In the same line? No separators? Would I need to add my own key (i.e. System A's key) to this file?
Would Git recognize any file I created without any command specifying so??
And where does the ~/.ssh/config file come into all of this?
We've got msysgit installed on all of our systems. Installing any other software isn't really possible right now because we need to take special permissions for that in our environment.
You should create a file called
authorized_keys
and add user B's public key to this file (newline separated).Basically:
userb.pub
(if it was created correctly) should already be properly formatted.