我已经在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请求应该工作。