我已经在服务器上安装了 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 密钥问题,但不知道该怎么办。
顺便说一下一个奇怪的想法:
我无法从客户端机器登录 ssh 服务器
ssh [email protected]
Received disconnect from my.serv.ip.add: 2: Too many authentication failures for root
但从另一台服务器登录成功。
anotherserv> [email protected]
gitserv>
答案1
由于 GitLabHQ 基于 Gitolite,因此您必须确保以下功能正常运作:
ssh [email protected]
只要你没有看到 Gitolite 答案,任何克隆都无法工作。
你需要将公共 ssh 密钥添加到你的 GitLab 配置文件中,并检查是否~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 请求应该可以工作。