无法通过ssh进入GitLab存储库

时间:2015-02-20 07:37:16

标签: ssh gitlab

我设置了GitLab并将我的存储库放入其中。

我按如下方式创建了ssh密钥,并将公钥放入我的GitLab配置文件中。好像没事。

ssh-keygen -t rsa -C "$your_email"

我可以通过ssh克隆我的存储库。但我不能通过ssh推送它如下。

root@192.168.141.136's password:
Counting objects: 6, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 337 bytes | 0 bytes/s, done.
Total 4 (delta 1), reused 0 (delta 0)
remote: GitLab: No such user or key
To ssh://root@192.168.141.136/var/opt/gitlab/git-data/repositories/root/reponame.g
it
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'ssh://root@192.168.141.136/var/opt/gitlab/gi
t-data/repositories/root/reponame.git'

我检查了GitHub并查看了源代码,很明显我找不到我的用户或ssh密钥。 但这很奇怪,因为我清楚地设置了它们。

        actor = if params[:key_id]
                  Key.find_by(id: params[:key_id])
                elsif params[:user_id]
                  User.find_by(id: params[:user_id])
                end

        unless actor
          return Gitlab::GitAccessStatus.new(false, 'No such user or key')
        end

1 个答案:

答案 0 :(得分:1)

我误解了整个故事。

Linux用户和GitLab用户完全不相关。

如果我想在GitLab中使用user_auser_buser_c,我所要做的就是在GitLab中添加这些用户,每个用户都必须创建ssh密钥并在GitLab中设置它。

如果reponemae.git是公共存储库,那么所有这些都可以通过ssh进行克隆,如下所示。

git clone ssh://git@192.168.141.136://root/reponame.git