1

我正在尝试在 Ubuntu 服务器上设置 gitolite!它似乎工作,因为我可以克隆 gitolite-admin

但是当我尝试在客户端发出命令时

git clone gitolite@ubuntu-server:testing

它要求输入 gitolite 的密码,但我在客户端配置的 ssh 密码不被接受

我在某处做错了吗?

我确实将 .pub 复制到服务器并运行 gl-setup 没有问题

注意:我对 git 非常熟悉

4

1 回答 1

1

检查服务器 gitolite 帐户上的内容:

 ~/.ssh/authorized_keys

您应该在 gitolite start / gitolite-end 中看到您的公钥:

#more authorized_keys
# gitolite start
command="/home/gitolite/bin/gitolite-shell gitoliteadm",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa ABCAB3NzaC1yc2EAAAADAQABAAABAQCxy5Y1epgjph3h439etAognIP4rlpDlD0OBh2rh+9DHMwlMad04zb3Tah5HQ
10Zg7mFWvltZlIBdhk5cBr3/mN1dNiRFspKwD2Z0yQaaI23zjHnXRAgLV76SOImICUt9CfCtGOy6jQH+2x4j921DL2cT8Ib+RslhBUEUdc3qNvOQSNhIz2qTVHJ676ohGFiqitgswIVIk6WRS+fERx6JFy9o7rLnnOCrozHYU271TwFgYqfNS7TuV4ZFwTP04hDGN+YALjvcQ0KGQGY/7qok+h5nHoRh9RDTeSJ2gDK2M4QPrTCzkCa0ebCexP2lR9G0iXYcClzXitttKDH7cls0j Gitolite Admin access (not interactive)
# gitolite end

确保使用最新的 gitolite (V3),如果您有以下情况:

/path/to/gitolite/bin/gitolite-shell

(您可以gitolite-shell xxx在服务器上执行:检查您使用的版本)

还要确保不要(至少一开始)使用密码保护您的私有 ssh 密钥。

如果它一直要求您输入密码,请使用以下内容编辑您的问题:

ssh -vvv gitolite@ubuntu-server

OP补充说:

如果我运行git clone morten@ubuntu-server:testing并输入密码,一切正常......但现在我似乎无法将任何内容推送到存储库

这意味着现在 ssh 部分运行正常,但是不要忘记您的第一次推送必须是:

git push origin master

(参见“ git push origin master:refs/heads/master 这是做什么的”)

那是因为默认的推送策略(可能很快会改变)是推送匹配的分支(如果你还没有推送任何东西,那么master远程仓库上就不会有分支)

另一个技巧是在推动之前确保你在一个分支上

git checkout master
git push

(并且在您处于分离头部模式时不要尝试推动)

于 2012-05-23T12:48:46.723 回答