我可以添加本地用户来使用SSH管理Gitolite存储库吗?

时间:2013-10-16 03:26:14

标签: git ssh jenkins gitolite

我正在尝试为Jenkins添加用户(但我认为任何本地用户都会遇到同样的问题)将连接到Gitolite服务器 在同一个方框

  • 我为Jenkins生成了SSH密钥。
  • 我将公钥添加到Gitolite的配置中。
  • 我可以使用Jenkins连接到本地主机服务器上的SSH。
  • 我正在使用SSH连接到Gitolite

例如,以下可以使用

sudo su jenkins
ssh localhost

但以下不起作用

sudo su - jenkins
git clone jenkins@localhost:my-repo

总是说

  

您似乎克隆了一个空存储库

但以下确实有用

sudo su - jenkins
git clone gitolite@localhost:my-repo

我认为我找到了为什么它不起作用,但我想知道是否有替代方案。

在gitolite的.ssh文件夹中有一个 authorized_keys文件,带有“命令”和jenkins的公钥。我想这是设置正确的shell使用gitolite。但是,在Jenkins的〜/ .ssh文件夹中还有一个authorized_keys

我想当我尝试使用用户“jenkins”连接到gitolite时,使用jenkins的“home”而不是gitolite存储库,所以它试图在Jenkins的家中找到存储库。

有没有办法可以使用Jenkins(与Gitolite服务器在同一个盒子上)连接到没有这个问题的gitolite?

1 个答案:

答案 0 :(得分:0)

URL正面的gitolite @实际上并不是您使用SSH时的用户。它是服务器上的服务(我假设)所以gitolite @ localhost:my-repo完全有效。

使用GIT时,您会看到对git @的引用。您的服务是gitolite,因此将始终使用gitolite @。

Git服务器使用SSH公钥进行身份验证,因此您创建的密钥允许用户连接到服务器。该密钥也与该用户有关,因此当使用该密钥时,假定用户发出git命令,例如提交。

另一方面,当我第一次开始使用我们的GIT系统时,一位同事推荐http://documentup.com/skwp/git-workflows-book,这对理解这个真正精彩的版本控制系统非常有帮助。