gitlab使用ssh一直提示Permission denied的问题

使用http链接进行操作正常,但是由于http对于文件尺寸的限制,我们的项目历史文件较多,达到200多M,这就需要修改gitlab和nginx的一系列参数了,但是最后并没有搞定这个问题,还是觉得ssh的方式更加简单一些


使用ssh链接进行操作的时候,总是出现下面的问题

[user@host ~]$ git clone user@gitlab.xx.com:projectname/proj.git
Cloning into itemcenter-all...
user@gitlab.xx.com's password: 
Permission denied, please try again.
user@gitlab.xx.com's password: 
Permission denied, please try again.
user@gitlab.xx.com's password: 
Permission denied (publickey,password,keyboard-interactive).
fatal: The remote end hung up unexpectedly
这个是别人的问题,跟我们的是一样的问题,链接:http://tinyhema.iteye.com/blog/2019754,按照上面的提示,修改了gitlab的配置文件之后,发现问题依旧存在。

最后折腾的时候发现,一个链接https://gitcafe.com/GitCafe/Help/tickets/351,在~/.ssh中添加config文件,并在里面配置host和对应的IdentityFile,这个问题,貌似是由于使用http操作的时候,不需要指定认证文件。这个问题是我一时手贱,ssh-keygen时自己指定了文件的名称所致,没有默认使用id_rsa名称,这个时候需要在config文件中设置匹配才可以,否则貌似无法使用某个默认的私钥,需要在config中强制指定才行

这个时候会弹出弹窗输入密码,输入使用ssh-keygen生成密钥文件时候输入的密码即可

对于多个使用不同私钥的git仓库而言,在config文件中可以设置多个域名以及强制对应的私钥文件,注意这个文件的格式问题:

Host 192.168.83.20

IdentityFile ~/.ssh/test_rsa

Host git.oschina.net

IdentityFile ~/.ssh/oschina_rsa

后面把工程移入新的仓库的时候,使用命令:

git remote rm origin

git remote add origin git:username@domain.com

这样就可以直接使用新的仓库了,再把代码push上去就完成仓库的迁移了,git用着真舒服

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值