美文网首页
GitLab & GitHub同时存SSH Key

GitLab & GitHub同时存SSH Key

作者: 木格措的天空 | 来源:发表于2017-09-01 08:48 被阅读70次
    • 1.我们先配置Gitlab,至于怎么申请GItlab/GitHub账号怎么配置SSH key等等就不赘述了,这个不是本文的重点,或参考官网helper。
      mac电脑的Git安装和基本操作
      快速学会Mac上托管代码到github(详解)
    • 2.经过第一步后,此时用命令ls查看~/.ssh目录下的文件,会看到有id_rsa 和 id_rsa.pub,这是Gitlab对应的rsa文件。
    • 3.用下面的命令执行后,ls后你会发现~/.ssh目录下多了两个文件id_rsa_github和id_rsa_github.pub,这就是GitHub对应的rsa文件。其他那些把ssh key拷贝到GitHub上的步骤我也不赘述了。
        ssh-keygen -t rsa -C "你的GitHub账号" -f id_rsa_github
    

    注:如果用下面的命令生成GitHub对应的rsa,那么Gitlab对应的rsa(id_rsa 和 id_rsa.pub)中的泪容将会被替换成GitHub对应的内容,这不是我们想要的结果。

        ssh-keygen -t rsa -C "你的GitHub账号" 
    
    • 4.gitlab和github的秘钥已经分开生成了,可怎么让这两份秘钥分别对应到相应的远程仓库呢?就是让id_rsa.pub认得gitlab,让id_rsa_github.pub认得github。既然不能自动识别,那就只好手动设置了
        vi ~/.ssh/config  加入下面的内容:
    
        # gitlab
        Host gitlab
            HostName git@192.168.--.--
            PreferredAuthentications publickey
            IdentityFile ~/.ssh/id_rsa
    
        # github
        Host github
            HostName github.com
            PreferredAuthentications publickey
            IdentityFile ~/.ssh/id_rsa_github
    
    
    • 5.此时你用 ssh -T git@ 命令测试可能会出现下面的情况,publickey有问题
        zzydeMac-mini:.ssh zzy$ ssh -T git@github.com
        Permission denied (publickey).
    
    • 6.执行命令 ssh-add ~/.ssh/id_rsa_github,再测试就没问题了
        zzydeMac-mini:.ssh zzy$ ssh-add ~/.ssh/id_rsa_github
        Identity added: /Users/zzy/.ssh/id_rsa_github (/Users/zzy/.ssh/id_rsa_github)
        zzydeMac-mini:.ssh zzy$ ssh -T git@github.com
        Hi zzy! You've successfully authenticated, but GitHub does not provide shell access.
    

    参考文章:github/gitlab 管理多个ssh key

    相关文章

      网友评论

          本文标题:GitLab & GitHub同时存SSH Key

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