Git服务器SSH用户授权失败

我已经在SERVER上安装了gitlabhq。

我从客户机克隆repo时遇到问题。 不行:

client> git clone [email protected]:myrepo.git /tmp/myrepo client> ssh [email protected] PTY allocation request failed on channel 0 

在服务器根下,我可以成功执行命令。

 gitserv> sudo -u gitlab -H git clone [email protected]:myrepo.git /tmp/myrepo Start clonnin repo 

我认为这是SSH密钥的问题,但不知道该怎么办。

顺便一个奇怪的想法:

我无法从客户机login到ssh服务器

 ssh [email protected] Received disconnect from my.serv.ip.add: 2: Too many authentication failures for root 

但成功地从另一台服务器login。

 anotherserv> [email protected] gitserv> 

由于GitLabHQ基于Gitolite,您必须确保以下工作:

 ssh [email protected] 

只要你没有看到Gitolite的答案,任何克隆都将无法正常工作。
你需要在你的GitLabconfiguration文件中添加一个公共的ssh密钥,并检查~git/.ssh/authorized_key是否被更新:

  command="/home/git/bin/gitolite-shell user_email_uuid",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaC1...Bc5CtLFcg+lTz+ZKKWpf+p5/9ZaR9T/KtpbibnvhQ== username 

当你在~git/.ssh/authorized_key看到类似的行时,那么来自客户端的ssh请求应该工作。