2015-05-06 68 views
-1

大约一个月前,我在本地Ubuntu 14.04桌面上安装了gitlab omnibus,并大量使用它来进行项目管理和版本控制。我最近尝试将服务器设置为面向公众的服务器,并因此更改了主机名并更新了/ etc/hosts以启用此功能。一旦做出这样的改变,我一直无法推送到我的gitlab存储库,这不幸中止了几个项目的所有进展。发现此问题后,我将服务器主机名和/ etc/hosts文件恢复为其原始状态,作为解决问题的多个步骤中的几个步骤。没有任何工作,因为我得到了git @ [myserver]的用户登录提示,而不是使用以前使用的SSH密钥。git push gitlab ssh失败

我已经通过GitLab网页界面添加了ssh公钥,并通过检查/var/opt/gitlab/.ssh/authorized_keys文件并确认列出了公钥并确认它已安装,并且包含额外的'command = ...'部分,gitlab需要。对我来说,一切看起来都很好,对我来说,就是对我的理解。我确实在服务器上有其他用户帐户使用ssh密钥,并且已经确认这些按预期工作。这些问题似乎是特定于gitlab而不是我一般的ssh服务。

我发现了这个问题的其他讨论,但没有解决方案提供了这些为我工作。具体来说,我试图按照以下主题提供了方向:

我花了大约3天试图解决这个问题并没有取得任何进展。我甚至卸载并重新安装了gitlab,只是发现卸载并未清除任何设置或数据,并且问题仍然存在。

我该怎么做才能再次使用这个工具?我很高兴提供有关服务器的任何细节,并且需要配置gitlab。

回答

0

你是否更新了gitlab_url设置以匹配gitlab-shell/config.yml中的主机名并检查了端口号?

+0

感谢您的回复。我的gitlab-shell/config.yml文件由gitlab-ctl根据我的/etc/gitlab/gitlab.rb文件中的设置进行管理。我根据您的建议对config.yml文件进行了更改,但是,只要运行'gitlab-ctl reconfigure',该文件就会被覆盖,因此它们不是永久性的。 乍一看,我的gitlab_url被设置为'http://127.0.0.1:8080',这完全不符合你的建议。我尝试用我的主机名替换它,并尝试了各种尾部斜线和端口号,但没有看到情况发生任何变化。 –

+0

假设我的主机名为'ts',我尝试了以下gitlab_url值而没有成功(我试图使用端口8081,因为我配置了gitlab在端口8081上运行nginx,并认为这些端口需要匹配): 'http :// ts' 'http:// ts /' 'http:// ts:8080' 'http:// ts:8080 /' 'http:// ts:8081' 'http:/// ts:8081 /' –

+0

我在上面的每个更改之间运行'gitlab-ctl restart',以防万一需要重新启动这些更改。我不清楚,如果'你检查了端口号'部分的建议是否符合我上面尝试使用的端口号,请让我知道它是否不对。 –

0

我最近也遇到了这个问题,并且能够通过在/etc/gitlab/gitlab.rb文件中更新external_url变量(最初分配给尚未注册的域名)来解决此问题。

按照新建项目页面上的链接建议创建SSH密钥。

原external_url变量: external_url 'http://gitlab.example.com'

更新external_url变量: external_url 'http://10.10.10.10'

0

有点晚在这里,但我只是碰到了类似的问题。

对我来说,解决办法是使用ssh-agent和添加我的钥匙(这里去):

  1. 创建关键:SSH-凯基-t RSA -b 4096 -C“your_email @例。COM”

  2. 输入要保存的关键(的〜/ .ssh/id_rsa)的文件:[按回车键]

  3. 开始的ssh-agent:的eval $(SSH代理-s)

  4. 添加您的SSH密钥:SSH-添加的〜/ .ssh/id_rsa


  • 确保您已将.pub文件内容到您的gitlab SSH密钥 (gitlab - 配置设置 - SSH密钥)

  • 然后改变你的git远程使用SSH git的远程设置网址产地SSH://github.com:端口/用户名/ repo.git
  • 完成