Gitolite混帐克隆需要SSH密码(Gitolite git clone requires ss

2019-07-31 16:06发布

使用Ubuntu的服务器上Gitolite。 有一个项目IM工作,我需要对git的命令的特定语法。

伟大的作品:混帐克隆gitolite @服务器:testing.git

要求输入密码的git克隆SSH://gitolite@servername/home/gitolite/repositories/testing.git

从同一个盒子,一个又一个的跑。 我可以把密码和它的作品。 但我需要自动工作。 听起来像使用ssh酒吧/私钥问题。 有任何想法吗?

更新:与文件权限的问题。 不知道过命令之间的差异。 但/var/log/auth.log显示一些错误

Answer 1:

你需要设置〜gitolite /的.ssh / authorized_keys文件如下一行

command="/home/gitolite/bin/gl-auth-command <USERNAME>",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAA...KEY.HERE...ZZZZ== user@label

有关于这个信息的随机URL(见页面底部)

http://www.geekgumbo.com/2011/10/18/ssh-and-the-gitolite-installation-part-2/

确保更改〜gitolite /的.ssh / authorized_keys中的所有权按照SSH要求有:

chown gitolite: ~gitolite/.ssh/authorized_keys
chmod go-w ~gitolite/.ssh/authorized_keys

编辑:以反映您的编辑修改“混帐”到“gitolite”系统的用户名。

测试从客户端与接入:

ssh -l gitolite -i <file_id_rsa_foobar> -v -o PasswordAuthentication=no -T <host>

新增-T似乎需要我的本地系统,以获得旗帜(以借口的错误类型):

....
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/username/.ssh/id_rsa_foobar
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /home/username/.ssh/id_dsa_foobar
debug1: Remote: Forced command: /home/gitolite/bin/gl-auth/command <username>
....
hello <username> this is gitolite vX.X.XX-g0123abcd running on git X.X.X
the gitolite config gives you the following access:
    R   W    mydir/project1
....


Answer 2:

如果第一个版本的作品,这意味着公共密钥已被评为“账户下发布gitolite ”: ~gitolite/.ssh/authorized_keys

你遇到的权限问题在这里描述:“ 对于格里特和Hudson创建SSH密钥 ”:注意,的.ssh的所有父目录不应该有写权限的组或其它: /home/home/yourUser/home/yourUser/.ssh

另外,你不应该永远克隆gitolite回购与回购的完整路径: servername/home/gitolite/repositories/testing.git是错误的(并且将旁路gitolite完全)。
servername:testing.git是正确的。

从gitolite V2 DOC :

下面的问题(S)表明您PUBKEY被绕过gitolite,而直接进入到一个shell

运行git clone git@server:repositories/reponame (附注存在repositories/在URL)的作品。

[A正确gitolite键只会让你的git克隆git@server:reponame (注缺少repositories/ )]



Answer 3:

然而,另一件事尝试:如果AllowGroups是在使用服务器上的sshd之前,检查git的用户已包含在这些群体中的一个。



文章来源: Gitolite git clone requires ssh password