当我尝试从本地推送到远程gitlab存储库时,权限被拒绝

时间:2015-03-23 19:35:13

标签: git gitlab

我在gitlab web ui中创建了一个存储库,并试图推送我的本地存储库。我使用以下命令添加了远程仓库:

$ git remote add origin test@x.x.x.x:project.git

然后我试图推,但它错了。我没有使用ssl。我想使用纯文本连接。

$ git push origin master
test@x.x.x.x's password:
Permission denied, please try again.
test@x.x.x.x's password:
Permission denied, please try again.
test@x.x.x.x's password:
Permission denied (publickey,password).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

3 个答案:

答案 0 :(得分:8)

  

然后我从web ui创建了测试用户。并使用测试用户创建了项目。

您永远不会使用该用户在ssh中联系服务器:所有授权密钥都分组在一个帐户下,gitlab应该是git~git/.ssh/authorized_keys < / p>

请参阅config/gitlab.yml

所以试试:

git remote set-url origin git@x.x.x.x:project.git

答案 1 :(得分:2)

较新版本的ssh默认情况下也禁止使用DSA密钥。确保您使用RSA密钥或确保〜/ .ssh / config或/ etc / ssh / ssh_config文件 允许DSA密钥。您可以通过在适当的文件中添加类似的内容来完成此操作:

Host your.git.server
    KexAlgorithms +diffie-hellman-group1-sha1
    HostkeyAlgorithms ssh-dss,ssh-rsa

这一点我。

答案 2 :(得分:0)

我的一位同事正面临着同样的问题。对他来说,这是设置SSH的问题。似乎使用的凭据不正确。只需清洁即可解决该问题。

$ git config --system --unset credential.helper
$ git config --global --unset credential.helper

感谢Patthoyts提供此answer