git push to gitlab ssh失败

时间:2015-05-06 18:05:25

标签: git ssh gitlab

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

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

我已经找到了关于这个问题的其他讨论,但是那些提供的解决方案对我没有用。具体来说,我试图遵循以下主题中提供的指示:

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

我可以做些什么才能再次使用它?我很乐意提供有关服务器的任何详细信息,并且需要gitlab配置。

3 个答案:

答案 0 :(得分:2)

这里有点晚了,但我遇到了类似的问题。

我的解决方案是使用ssh-agent并添加我的密钥(这里是):

  1. 创建密钥: ssh-keygen -t rsa -b 4096 -C“your_email@example.com”

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

  3. 启动ssh-agent: eval $(ssh-agent -s)

  4. 添加您的ssh密钥: ssh-add~ / .ssh / id_rsa

    1. 确保已将.pub文件内容添加到gitlab ssh密钥中 (gitlab - 配置文件设置 - ssh密钥)
      1. 然后更改你的git遥控器以使用ssh git remote set-url origin ssh://github.com:port / username / repo.git
      2. 完成

答案 1 :(得分:0)

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

答案 2 :(得分: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'