0%

Mac配置多个SSH账号

MAC配置SSH密钥

众所周知,我们可以将代码托管到线上很多平台,gitee / github / gitlab 等等。
在企业中我们可能会遇到这种情况:

企业的项目是放在gitlab上托管的,我需要为gitlab配置一个SSH密钥,但是我自己的项目是放到github上的,我需要为github也配置一个SSH密钥,这就涉及到了管理多个SSH密钥的问题,下面我分别介绍了配置单个和多个SSH密钥的方式。

一、配置单个SSH密钥

例如:为企业gitlab配置SSH密钥
在终端中依次输入如下命令:

  1. 注意这里邮箱是你公司的地址,敲完一路回车就好

    1
    ssh-keygen -t rsa -C "yourmail@gmail.com"
  2. 切换到.ssh目录下,查看一下目录下的文件

    1
    2
    cd .ssh
    ls
  3. 查看公钥(id_rsa.pub),复制下来,打开gitlab的Settings里的SSH Keys将复制的添加进去,会自动生成Title为你的邮箱。

    1
    cat id_rsa.pub
  4. 将私钥(id_rsa)添加到SSH-agent

    1
    SSH-add ~/.ssh/id_rsa

二、配置多个SSH密钥

在这里我需要再为github配置一下SSH,如果重复上面的步骤,会出现密钥覆盖的情况,所以我们需要为新的密钥文件设置新的名字,步骤如下:

  1. 这里邮箱是你注册github的邮箱,注意第一次回车之后需要为生成的密钥自定义名字,输入一个id_rsa_github,输入完之后一路回车

    1
    ssh-keygen -t rsa -C "yourmail@gmail.com"
  2. 查看一下自己生成的SSH

    1
    2
    cd .ssh
    ls

    目录下的文件应该有这些:

    1
    id_rsa.pub        id_rsa_github.pub        id_rsa            id_rsa_github     known_hosts

    这里id_rsa和id_rsa.pub是我的gitlab的私钥和公钥,id_rsa_github和id_rsa_github.pub是我的github的私钥和公钥。

  3. 查看公钥(id_rsa_github.pub),打开github的Settings里的SSH and GPG keys,New SSH key,将公钥复制进去,设置Title为你的邮箱名。

    1
    cat id_rsa_github.pub
  4. 添加私钥

    1
    ssh-add ~/.ssh/id_rsa_github
  5. 添加配置文件

  • 在.ssh/下创建config文件

    1
    touch config
  • 用vim编辑器打开config,输入i切换到插入模式进行修改

    1
    vim config

    在config中输入一下内容

    注意:如果Gitlab是用的公司的服务器,需要在HostName中指定公司的域名。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #gitlab
    Host gitlab.com
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa
    #github
    Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github

三、至此大功告成

万一真有土豪呢