zoukankan      html  css  js  c++  java
  • 如何通过SSH将TortoiseGit小乌龟关联GitLab

    需求:

      公司代码用的是GitLab做代码托管,所以我们代码提交和拉取也需要git;之前是用SVN做管理代码,所以直接下载安装了一个汉化版的TortoiseSVN,平时开发也是非常方便;现在用git管理,所以自然想到,是否也有类似的客户端工具提供使用,而不用去捣鼓哪些复杂的git命令;

      没想到,还真有TortoiseGit提供使用,于是安装了一个汉化版,开干;

    问题:这个时候,问题来了,本地电脑与git有两种验证方式,一个是账户HTTPS,一个是使用SSH密钥,相对而言后者更为安全,而且还可以方便在家和公司同时安排。

      按我们之前的理解,于是直接在本地通过git指令生成密钥,放到gitlab上,放上去是没有问题,但是本地想通过SSH方式克隆代码,却一直提示“密钥验证不通过”。

    为什么:于是查阅了资料,发现TortoiseGit小乌龟使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥,简而言之,使用命令ssh-keygen -C "邮箱地址" -t rsa产生的密钥在TortoiseGit中不能用。如下图

    操作:于是按着教程,通过TortoiseGit小乌龟自带的工具puttygen生成RSA密钥,工具位置如下图。但是生成之后,你会发现,问题又来了,通过这个工具生成的密钥,复制到gitlab上,一直提示密钥格式有误。

    解决:最终查询资料,和处理方式如下:

    1、我们首先还是通过git指令生成本地密钥

    #(如果之前没有配置的话)先配置git的全局变量user.name,user.email,这一步必须配置
    git config --global user.name "username"
    git config --global user.email "useremail@qq.com"
    
    #生成密钥
    ssh-keygen -t rsa -C  "useremail@qq.com"
    
    #直接连续回车,不需要密码的话。
    
    #这条命令将默认在C:Usersuser.ssh目录下创建id_rsa,id_rsa.pub,这就是我们需要的RSA私钥和公钥

    2、通过如上操作后,我们就生成了私钥和公钥,我们还是按刚才操作的,将C:Usersuser.sshid_rsa.pub,全部信息复制下来,添加到gitlab和github中。

    3、添加成功后,然后再打开,刚才说的那个TortoiseGit小乌龟自带的工具puttygen密钥工具,将我们的git生成的C:Usersuser.sshid_rsa私钥转换成 1.ppk结尾的私钥

     4、然后我们再克隆,加载密钥选择,我们刚才生成的 1.ppk密钥,即可成功克隆。

     最后:其实这里就可以看出,之前的密钥匙是没有问题的,只是说两者的格式问题导致,现在给他做了一个格式的切换而已。


    -----END

    影子是一个会撒谎的精灵,它在虚空中流浪和等待被发现之间;在存在与不存在之间....
  • 相关阅读:
    java字符串的遍历以及字符串中各类字符的统计
    Java Jvm运行机制原理
    为什么面试要问 hashmap 的原理
    HashMap的实现原理
    redis两种持久化方式的优缺点
    2018No-java面试知识
    从架构演进的角度聊聊spring cloud都做了些什么?
    MySQL索引优化
    2018java面试知识汇总
    多线程—7种同步方法
  • 原文地址:https://www.cnblogs.com/camg/p/14708382.html
Copyright © 2011-2022 走看看