git push提示Permission denied (publickey)

0 0 git github gitlab
路漫猿兮
路漫猿兮

声望值:54 0人

2019-02-28 09:03:00 提问

关注 0关注

收藏 0收藏, 104浏览

环境:

  • Windows 10系统;

我有一个github.com账号,一个gitlab.com账号,在Windows系统上的配置如下:

clipboard.png

其中rxwangwb_rsa是github的私钥,gitlab_rxwangwb_rsa是gitlab的私钥。config文件的内容如下:

#default github
Host github.com
 HostName github.com
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/rxwangwb_rsa 
Host gitlab
 HostName gitlab.com
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/gitlab_rxwangwb_rsa

我的使用情形,github的是公共仓库,而gitlab是私人仓库。
我在gitlab push代码时,被拒绝:

clipboard.png

接下来我执行如下操作:

clipboard.png

这样就提交成功了,但是下次提交代码时还是会被拒绝,每次都需要eval(ssh-agent)->ssh-add -> git push这个样操作,请问怎么解决这个问题?

请先 登录 后评论

3个回答

  • ♣ 五 毛298声望 2018-09-25 09:26

    设置 SSH keys 试下 https://github.com/settings/keysgitlab 也是差不多的设置这样应该是比较好的处理方式
    请先 登录 后评论
  • l梁上君子141声望 2018-09-25 09:26

    git push 的数据协议有两种方式:ssh 和 http。 题主可以先试一下 http 方式看能否成功。只需在 git config 中修改 remote 地址为 http 方式即可。 如果可以的话,猜测是 gitlab 的 ssh 服务端(应该有个 known_hosts 文件)没有保存你的客户端公钥文件,导致每次连接都得 ssh-add。
    请先 登录 后评论
  • ㄨ風影ミ红ん馆110声望 2018-09-25 09:26

    This is a better approach hotmail sign in
    请先 登录 后评论

注册新账号

悬赏追问
10
  • 10
  • 20
  • 50
  • 100
  • 200
  • 输入数值
发布追问