新搭建了 GITLab5.1,用的是 LDAP 登陆,粘贴了自己的公钥到 gitlab 上,目前可以克隆 pushpull 等操作,但只能用 http 地址 http://192.68.1.10/root/aaa.git 换为 ssh 地址 [email protected]:root/aaa.git 之后就会提示“fatal: The remote end hung up unexpectedly” ;更令人郁闷的是每次进行 push、pull、clone 时候都需要输入 ldap 的用户名和密码之后才能完成相应操作,求教给如何配置才能避免上面两个问题? @Saito @lgn21st @gene_wu
@kenshin54 sidekiq 已经启动;authorized_keys 已经加入公钥;配置文件处理修改过 ldap 之外其他没有改动;没有找到 githost.log,其他日志里没看到错误信息;执行 sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production 所有的检查均通过
@Saito 创建了文件 netrc 内容如下: machine 192.168.1.80 login [email protected] password 123456 再次克隆的时候仍然需要用户名密码。 issue 和 gitllab 5.1 的 Setup Guide https://github.com/gitlabhq/gitlabhq/blob/5-1-stable/doc/install/installation.md 关于 ssh 的配置只有 gitlab-shell 中 Edit config and replace gitlab_url (with something like 'http://domain.com/') 这一项,求解
先测试一下 ssh -vv [email protected] 看看详细信息
如果报错信息为
gitlab-shell:8: undefined method `require_relative' for main:Object (NoMethodError)
可参照这篇博客第 3 节 http://www.himysql.com/ubuntu-12-04-lts-rvm-gitlab-5-redmine-integration.html
算了,帖过来吧
2013 年 4 月 26 日更新:
在.vimrc 的中找到『[ -z "$PS1" ] && return 』所在行,将下述第 3 行插入在该行前。完成后的代码如下:
$ vim ~/.bashrc
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session as a function
[ -z "$PS1" ] && return Ubuntu 用户的若不设置该处,gitlab 搭建完之后 git 将出现 git-shell 错误、或连接 ssh 失败。
gitlab-shell:8: undefined method `require_relative' for main:Object (NoMethodError) 这是 git-shell 典型的错误信息。
折腾了几天终于解决了,大概总结了下:
1 最好系统安装的用户叫做 git,免得切换用户
2 升级安装(4.2-->5.1)的时候对 gitshell 版本检查
3 gitshell 的 config.yml 和 gitlab/config/gitlab.yml 还有 nginx 中配置的端口保持一致
4 使用 ssh -v [email protected] ssh -T [email protected] 检查自己的 key 是否被识别
5 git chckout 版本的时候 最好加上 -f 强制检出
6 每一步走完都确保是正确的
楼上提供的几个方案虽然没用上但是给了我一些启发,再次感谢。@leopku @Saito @kenshin54 @tuliang
@Saito 请教 GitLab (5.2pre) push 或 clone 通过 SSH 方式始终失败,我已经把 SSH-public-key 导入进去了。试验了好多天都得不到解。请看如下的错误信息 :
这是哪里出了问题。 还请楼上的牛人大哥帮小弟看看,跪谢了!