欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

GitLab & GitHub同时存SSH Key

程序员文章站 2022-04-30 11:12:58
...
  • 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-****** -t rsa -C "你的GitHub账号" -f id_rsa_github

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

    ssh-****** -t rsa -C "你的GitHub账号" 
  • 4.gitlab和github的秘钥已经分开生成了,可怎么让这两份秘钥分别对应到相应的远程仓库呢?就是让id_rsa.pub认得gitlab,让id_rsa_github.pub认得github。既然不能自动识别,那就只好手动设置了
    vi ~/.ssh/config  加入下面的内容:

    # gitlab
    Host gitlab
        HostName [email protected]
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/id_rsa

    # github
    Host github
        HostName github.com
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/id_rsa_github

  • 5.此时你用 ssh -T [email protected] 命令测试可能会出现下面的情况,publickey有问题
    zzydeMac-mini:.ssh zzy$ ssh -T [email protected]
    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 [email protected]
    Hi zzy! You've successfully authenticated, but GitHub does not provide shell access.

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