2013-12-14 78 views
0

我们刚刚开始在我们的工作场所使用Git,尽管我们在本地系统上使用Git学习了很多,但还有一件事我们还没有做到。关于中央共享Git存储库的配置

我想在我的系统上创建一个存储库,该存储库应该可供我的网络上的其他系统访问,用于克隆,拉取,推送等命令。

我看了一圈,发现的是,这里就是我需要做的:

git init --bare --shared=all 

2:使用以下命令

1.创建我的系统上裸露的回购协议(比如,系统A)然后,如果我希望系统B上的用户有权访问系统A上的我的回购,请执行以下操作:

i。通过运行系统B为用户生成公钥 - 私钥对以下命令用户B的gitbash:

ssh-keygen 

ii。复制用户B的公钥并粘贴到我的(即,系统A)〜/ .ssh文件夹。假设用户B的公钥的名称userb.pub

而这正是我坚持:

iii.Add用户B的公钥(userb.pub)到授权列表键在我的系统上。

* 但我不能找到一个名为authorized_keys的在我的〜/ .ssh文件夹中的任何文件!*

即使我创建了自己的authorized_keys文件,我怎么会所有的公共密钥的加入它?在同一行?没有分隔符?我需要将我自己的密钥(即系统A的密钥)添加到此文件中吗?

Git能够识别我创建的任何文件,而不需要任何命令指定吗?

而〜/ .ssh/config文件到达了所有这一切?

我们已经在我们所有的系统上安装了msysgit。现在安装任何其他软件是不可能的,因为我们需要在我们的环境中为其授予特殊权限。

+1

https://www.google.co.uk/search?q=setting+up+ssh+keys –

+0

这会让其他用户像您一样登录,这似乎是一个非常糟糕的主意。你有没有理由不让他们以自己的身份登录? –

回答

0

您应该创建一个名为authorized_keys的文件,并将用户B的公钥添加到此文件(换行符分隔)。

基本上是:

cat userb.pub >> ~/.ssh/authorized_keys 

userb.pub(如果它被正确创建)应该已经在正确的格式。

+0

在开始工作之前,我需要编辑用户B系统上的任何配置文件吗? –

+0

你不应该需要。 'ssh-keygen'应该足够了。 – Michael