在谷歌计算引擎中的centos 7上设置git服务器

时间:2015-12-23 23:29:19

标签: git ssh google-compute-engine

我有一个谷歌计算引擎实例,我想在其上设置一个git服务器,开发人员可以访问该服务器以推送和提取开发源代码。 我创建了一个名为git的用户来访问存储库。然后将每个开发人员公钥添加到服务器/home/git/.ssh/authorized_keys文件中。

以下是我为执行上述

而发布的配置
$ useradd –m /home/git –s /usr/bin/git-shell git

在服务器上安装git

$ yum install git -y

为用户配置ssh授权

$ cd /home/git
$ mkdir .ssh && chmod 700 .ssh
$ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

将开发人员的ssh密钥附加到服务器上的authorized_keys文件

为代码创建一个裸存储库

$ mkdir /opt/git/project.git
$ cd /opt/git/project.git
$ git init - -bare - -shared=group

修改现有权限

$ chgrp -R developers .

测试配置

$ git clone ssh://git@IP_ADDRESS/opt/git/project.git

当我尝试克隆存储库时,它会发出错误:

git clone screen shot

注意:我在物理服务器上尝试了上述设置,它运行良好,不需要在系统上配置ssh密钥。所以我想知道它是否计算引擎问题。

在某些时候我认为这是/ opt目录的权限问题,因此我将其他人的权限修改为read/write,但它不起作用。 此外,我进一步创建了一个存储库,但在用户git的主目录中,仍然没有用。

我需要一些帮助来解决用户git的身份验证问题。

解决方案

我发现了背后的伎俩。实际上我用来克隆项目的机器是运行Windows 8操作系统。所以诀窍是将id_rsa.*中的C:\Users\USERNAME\.ssh(pub和ppk)文件复制到C:\Users\USERNAME\git\.ssh的git目录中。

有了这一切,一切都很完美。

1 个答案:

答案 0 :(得分:1)

我发现了背后的伎俩。实际上我用来克隆项目的机器是运行Windows 8操作系统。所以诀窍是将id_rsa.*中的C:\Users\USERNAME\.ssh(pub和ppk)文件复制到C:\Users\USERNAME\git\.ssh的git目录。

有了这一切,一切都很完美。