美文网首页
Git配置多个SSH-Key(在一台电脑上,如何配置多个SSH

Git配置多个SSH-Key(在一台电脑上,如何配置多个SSH

作者: wildelegant | 来源:发表于2021-12-20 14:51 被阅读0次

    需求背景:

    一般情况下,我们只会生成一个SSH Key,名字叫id_rsa,然后提交到多个不同的网站(如:GitHub、DevCloud、Gitee、GitLab)。
    eg:尝试给Github配一个ssh。首先需要做的就是在命令行中输入以下指令

    $ ssh-keygen -t rsa -C "youremail@email.com"
    
    然后一路回车,最后生成 image.png

    复制id_rsa.pub到对应的Git服务器即可。

    但是也存在另一种需要,我们在同一个网站上,注册了两个或者多个用户名,通常网站不会允许我们为这两个用户名,配置同一个SSH Key,这时候就会有些麻烦。
    a. 一个gitee,用于A项目的一些开发活动;
    b. 一个github,用于B项目的一些开发活动;
    c. 一个gitlab,用于C项目的一些开发活动;

    解决办法:

    针对不同的账户,生成一个不同用途的SSH-Key,然后进行相关的配置即可。
    下面以mac 设备为例:
    1.生成对应的SSH-Key:
    生成一个gitee用的SSH-Key

    $ ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/gitee_id_rsa
    

    生成一个github用的SSH-Key

    $ ssh-keygen -t rsa -C 'xxxxx@gmail.com' -f ~/.ssh/github_id_rsa
    

    生成一个gitlab用的SSH-Key

    $ ssh-keygen -t rsa -C 'xxxxx@163.com' -f ~/.ssh/gitlab_id_rsa
    

    2.在 ~/.ssh 目录下新建一个config文件(终端:touch config),添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)

    # gitee
    Host gitee.com
    HostName gitee.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitee_id_rsa
    # github
    Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_id_rsa
    # gitlab
    Host  gitlab.com
    HostName  gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/ gitlab_id_rsa
    

    3.然后进入 ~/.ssh ,拷贝不同的xxx_id_rsa.pub到不同的服务器进行配置,eg:拷贝github_id_rsa.pub内容,然后,进入Github,在Your profile里,点击左边SSH keys,再在右边点击Add SSH key按钮,如图:

    github中的SSH配置

    其中,Title随便填,将id_rsa.pub里的内容复制到Key中,点击下方的Add key按钮。
    4.用ssh命令分别测试

    $ ssh -T git@gitee.com
    $ ssh -T git@github.com
    $ ssh -T git@gitlab.com
    

    这里以gitee为例,成功的话会返回下图内容:


    image.png

    相关文章

      网友评论

          本文标题:Git配置多个SSH-Key(在一台电脑上,如何配置多个SSH

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