git多账号配置

作者: landy8530 | 来源:发表于2017-07-11 00:01 被阅读245次

    在实际工作中,常常会遇到多个git帐号(即多个远程仓库)的情况,这时候如果只有一个SSH-key则无法满足现有要求,故需要配置一下多ssh-key的情况,本事例以github.com和git.oschina.net两个帐号为例,进行详细操作说明。(本文以windows10操作系统为例)

    1.生成github.com和git.oschina.net对应的私钥和公钥

    切换到git默认访问的.ssh目录下(本文默认路径为c/Users/landyChris/.ssh)

    默认路径.png

    1.1生成github.com私钥和公钥

    执行命令:

    ssh-keygen -t rsa -C xxxx@hotmail.com
    

    创建github对应的sshkey,命名为id_rsa_github,密码 123456(密码可以为空)

    生成github公钥密钥.png

    1.2生成git.oschina.net私钥和公钥

    以同样的方式生成,邮箱的地址可以相同,也可以不同,看自己具体的git仓库的帐号而定。

    生成oschina公钥密钥.png

    由以上操作后,.ssh目录下含有以下文件。

    image.png

    共有4个文件(id_rsa和id_rsa.pub为之前安装git时候产生的公钥和密钥文件),分别是github和oschina的公钥和密钥文件。

    2.分别把github对应的公钥和oschina对应的公钥上传到服务器

    2.1 github

    选择account-->setting进行配置,如下图所示:

    image.png

    找到SSH AND GPG KEYS菜单,点击New SSH Key按钮,如下图所示:

    image.png

    然后输入上面步骤生成的公钥,

    image.png

    2.2 oschina

    同理在https://gitee.com/profile/sshkeys 上即可设置oschina的公钥,如下图所示步骤。

    image.png

    3.在.ssh目录下创建config文本文件并完成相关配置(重点)

    每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostName和IdentityFile两个属性即可
    Host的名字可以取为自己喜欢的名字,不过这个会影响git相关命令,例如:
    Host mygithub 这样定义的话,命令如下,即git@后面紧跟的名字改为mygithub
    git clone git@mygithub:landy8530/hello-world

    HostName           这个是真实的域名地址
    IdentityFile          这里是id_rsa的地址
    PreferredAuthentications   配置登录时用什么权限认证--可设为publickey,password publickey,keyboard-interactive等
    User            配置使用用户名
    
    

    配置事例如下:

    # 配置github.com
    Host github.com                 
        HostName github.com
        IdentityFile C:\\Users\\landyChris\\.ssh\\id_rsa_github
        PreferredAuthentications publickey
        User landy8530
    
    # 配置git.oschina.net
    Host git.oschina.net
        HostName git.oschina.net
        IdentityFile C:\\Users\\landyChris\\.ssh\\id_rsa_oschina
        PreferredAuthentications publickey
        User landy8530
    
    

    4.执行测试命令(会自动生成known_hosts文件把私钥配置进文件中)

    测试github:

    ssh -T git@github.com 
    
    image.png

    测试oschina:

    ssh -T git@git.oschina.net
    
    image.png

    出现以上信息,说明两个git帐号已经配置成功!

    5.多账号操作事例

    测试成功后,就可以在电脑上使用git多账号进行同时互不影响的操作了。
    例如:clone gitbub上的hello-world的一个demo事例:https://github.com/landy8530/hello-world.git
    操作如截图所示:

    image.png
    同理:clone oschina上的hello-world的一个demo事例:https://git.oschina.net/lylyx/hello-world.git image.png

    相关文章

      网友评论

        本文标题:git多账号配置

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