mac下配置多个ssh-key并添加到gitlab

工作中有时候需要添加两个以上的ssh-key。或者一个是公司的仓库,一个是自己的仓库。等这种场景就需要在本地配置两个不同的ssh-key并添加到代理中了。
默认配置第一个的ssh-key会在mac的 ~/.ssh 路径下生成 id_rsa_pub 和id_rsa两个文件。
如下图:
mac下配置多个ssh-key并添加到gitlab_第1张图片
配置第二个的时候对于生成公钥和私钥的文件名就需要自定义了,否则就会覆盖上面的这两个默认文件名
这里假设你已近生成了第一个公钥,现在想做的是配置第二个公钥并将其添加到ssh-agent

配置本地自定义key的名字

  • cd 到本地.ssh目录下

    	cd .ssh
    
  • 生成一个ssh-key (后面填写的是你自己的邮箱账号)

    ssh-keygen -t rsa -C "[email protected]"
    
  • 输入自定义key的文件名,我这里加的是id_rsa_gz,这个名字可以自定义,
    mac下配置多个ssh-key并添加到gitlab_第2张图片

  • 设置密码

    Enter file in which to save the key (/Users/cyril/.ssh/id_rsa): id_rsa_gz
    Enter passphrase (empty for no passphrase):
    

    根据提示输入密码,这里输入的密码是需要记住的,每次通过ssh方式拉代码都需要输入该密码,可以和gitlab的密码一样,也可以直接两次回车,不输入密码。我这里习惯直接回车,跳过这个输密码的阶段

  • 成功生成ssh-key文件
    mac下配置多个ssh-key并添加到gitlab_第3张图片

将上述生成的自定义 ssh-key添加到ssh-agent

到这一步我们已经创建好了自定义的 ssh-key,此时还需要将新的 ssh-key 添加到ssh agent ,因为默认只读 id_rsa,首先可以通过命令查看一下已经添加进去的 ssh-key

  • 打开终端

    	ssh-add -l
    

    mac下配置多个ssh-key并添加到gitlab_第4张图片

  • 添加自定义key到ssh agent, id_rsa_gz是刚新生成的ssh-key
    ssh-add -K ~/.ssh/id_rsa_gz

     添加成功之后可以查看一下是否把 id_rsa_gz 添加进去了
     ```
     	ssh-add ls
     ```
     ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190405134616923.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zODA4MDU3Mw==,size_16,color_FFFFFF,t_70)
    

    在这里补充说明一下,如果在上面只是运行下面(少了个 -K)

    ssh-add ~/.ssh/id_rsa_gz
    

    这命令相当于把对应的密钥加进 ssh-agent 所管理的一个 session 当中,这样每次关机重启之后ssh-agent 服务也就重置了,session 会话也就失效了。就需要重新再加一次。所以加个参数 -k是将密钥放在 keychain中,
    这样就不会过期了,也可以打卡mac上的钥匙串访问,观察一些密钥的变化。

将本地的公钥添加到gitlab上去

这个比较简单,直接上图好了,如下:

mac下配置多个ssh-key并添加到gitlab_第5张图片
至此,整个操作就结束了,现在已近可以通过ssh的方式去访问gitlab了。

你可能感兴趣的:(git)