我正在尝试为 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 的“家”而不是 gitolite 存储库,因此它试图在 Jenkins 的家中找到存储库。
有没有办法可以使用 Jenkins(与 Gitolite 服务器在同一个盒子上)连接到 gitolite 而不会出现这个问题?