如何生成SSH Key-使用GitLab

1.检查是否已经存在SSH Key

打开电脑终端,输入如下命令:ls -al ~/.sshjava

2.会出现两种状况:

(1)终端出现文件id_rsa.pub 或 id_dsa.pub,则表示该电脑已经存在SSH Key,此时可继续输入命令:git

//将公钥放到剪切板github

pbcopy < ~/.ssh/id_rsa.pubbash

这样你须要的SSH Key 就已经复制到粘贴板上了,而后进行步骤3服务器

(2)终端未出现id_rsa.pub 或 id_dsa.pub文件,表示该电脑尚未配置SSH Key,此时须要输入命令:ssh

ssh-keygen -t rsa -C "your_full_name@xxxxx.com"ide

(注意,这里的 your_full_name@xxxxx.com 是你本身的公司邮箱) 默认会在相应路径下(/your_home_path)生成id_rsa和id_rsa.pub两个文件,此时终端会显示:gitlab

Generating public/private rsa key pair.spa

Enter file in which to save the key (/your_home_path/.ssh/id_rsa):3d

连续回车便可,也可能会让你输入密码,密码就是你的开机密码

此时再输入命令:ls -al ~/.ssh 就会出现id_rsa.pub 和 id_dsa.pub两个文件,而后重复状况(1)的步骤即输入如下命令再进行步骤3便可:

pbcopy < ~/.ssh/id_rsa.pub

3.将SSH Key添加到GitLab中

打开GitLab, 登陆,找到左边栏有一个的按钮,点击“ADD SSH KEY”按钮添加,将已经得到的SSH Key粘贴到“Key”,下边的标题能够随便取,点击加入项目,这样就保持了本地与服务器端的联系.



二.本地配置多个 SSH Key

大多数时候,咱们的机器上会有不少的git host,好比公司gitlab、github、oschina等,那咱们就须要在本地配置多个ssh key,使得不一样的host能使用不一样的ssh key ,作法以下(以公司gitlab和github为例):

  1. 为公司生成一对秘钥ssh key

    ssh-keygen -t rsa -C 'yourEmail@xx.com' -f ~/.ssh/gitlab-rsa复制代码
  2. 为github生成一对秘钥ssh key

    ssh-keygen -t rsa -C 'yourEmail2@xx.com' -f ~/.ssh/github-rsa复制代码
  3. 按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub
  4. 将ssh-key添加到ssh-agent

上面这一步咱们已经建立好了 ssh-key,此时还须要将新的 ssh-key 添加到ssh agent ,由于默认只读 id_rsa,首先查看一下已经添加进去的 ssh-key,当出现下面 这种状况是说明 ssh agent 里面并无把咱们新生产的 ssh-key添加进去

ssh-add -l
The agent has no identities.复制代码

能够选择把咱们生成的 ssh-key 添加进去,也能够指定添加

//所有添加
ssh-add  

//指定添加(能够切换到.ssh下添加,也能够直接指定路径添加)
➜  .ssh ssh-add id_rsa_test_github                   
Enter passphrase for id_rsa_test_github: 
Identity added: id_rsa_test_github (id_rsa_test_github)复制代码

这时输入下面指令就能看见咱们添加进去的 ssh-key

ssh-add -l
复制代码

获取公钥内容的另外一种方法:

.ssh  cat id_rsa_test_github.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoG4Tmo8wF3P9/Vdtsm220jE6dNu9iG8jtranZccTO4hsyck4cxO02AniYr7JaPsL91sLCODEhnEmI+YWLSXFIaPbXVyVEa3PHc+VdNjgkkm/unkoBKsMLViP0vOUtU2OSYAdlWAoXpAyzPV17W0ratFVkHTjr1+G4NHOCo/qKbozPaHH9gaed7RB1Kx8swPkt0HGv/o9NQh7psmNPaanqMlTqA0uVS47LbCF5+C0CAgj2bFGEHtKy8cw6M+7OHBaTq90d740IBNca1fIvIDTnjsSV26iOiluQ+jVfsHuHmaAuw7ez2z/84sb+r5RtP5kjMemlw2D+/FmbFqx8qXDt youremail@email.com复制代码
相关文章
相关标签/搜索