我在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.
答案 0 :(得分:8)
然后我从web ui创建了测试用户。并使用测试用户创建了项目。
您永远不会使用该用户在ssh中联系服务器:所有授权密钥都分组在一个帐户下,gitlab应该是git
:~git/.ssh/authorized_keys
< / p>
所以试试:
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。