Git多个项目私钥管理

作者: Android开发哥 | 来源:发表于2017-03-13 22:11 被阅读187次

    场景信息

    • 我的邮箱:xxxfish@qq.com

    • 三个项目分别为:

    • project1

    • project2

    • project3

    • 代码托管平台:开源中国(git.oschina.net)

    第一步:生成公钥和私钥

    
    ssh-keygen -t rsa -C "xxxfish@qq.com" -f ~/.ssh/project1
    
    ssh-keygen -t rsa -C "xxxfish@qq.com" -f ~/.ssh/project2
    
    ssh-keygen -t rsa -C "xxxfish@qq.com" -f ~/.ssh/project3
    
    ```
    
    # 第二步:添加公钥到项目组中
    
    > 三个项目的公钥分别是:
    
    > * `~/.ssh/project1.pub`
    
    > * `~/.ssh/project2.pub`,
    
    > * `~/.ssh/project3.pub`
    
    > 让对应项目组的管理员把对应的公钥文件的内容添加到代码托管平台对应的项目组中即可
    
    ![添加](https://img.haomeiwen.com/i994350/19150068ac5f09c8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    # 第三步:拿到项目的克隆地址
    
    ![获取地址](https://img.haomeiwen.com/i994350/39fa99bdc6eb34e2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    # 第四步:修改配置文件
    
    ## 编辑`~/.ssh/config`文件
    
    > 该文件默认不存在
    
    ##  添加下面配置
    
    > 从第三步中我们拿到了克隆的地址,格式一般为
    
    > `git@git.oschina.net:XXX/PROJECT.git`
    
    > 我们需要获取的信息就是:
    
    > * `@前面的git`
    
    > * `@和:之间的git.oschina.net`
    
    > * `:和/之间的XXX`
    
    > * `/后面的PROJECT`
    
    ```bash
    
    Host project1name
    
           Hostname git.oschina.net
    
           User git
    
           IdentityFile ~/.ssh/project1
    
    Host project2name
    
           Hostname git.oschina.net
    
           User git
    
           IdentityFile ~/.ssh/project2
    
    Host project3name
    
           Hostname git.oschina.net
    
           User git
    
           IdentityFile ~/.ssh/project3
    
    ```
    
    > **结合克隆地址的格式来看:**
    
    > `Host`是随意的别名
    
    > `Hostname`对应的是`@和:之间的git.oschina.net`
    
    > `User`对应的就是`@前面的git`
    
    > `IdentityFile`对应的是公钥文件,不带文件扩展名
    
    # 第五步:克隆项目
    
    > 项目克隆的命令是:
    
    ```
    
    git clone `Host`:`XXX`/`PROJECT`.git
    
    ```
    
    > * `Host`对应的就是第四步配置文件的别名
    
    > * `XXX`对应的就是第三步中克隆地址中对应的XXX
    
    > * `PROJECT`对应的就是第三步克隆地址中的`PROJECT`

    相关文章

      网友评论

        本文标题:Git多个项目私钥管理

        本文链接:https://www.haomeiwen.com/subject/xmnqnttx.html