创建ssh私钥 - 1990bingliu/ubuntu_gitlab GitHub Wiki

配置ssh私钥

  1. step.1 查看是否已创建过私钥
$ cd ~/.ssh 
$ ls
id_rsa  id_rsa.pub  known_hosts

存在 id_rsaid_rsa.pub,则可直接使用该ssh秘钥,不存在,则需要进行step.2步,创建ssh秘钥

  1. step.2
$ ssh-keygen -t rsa -C "[email protected]"
  1. step.3 把*.pub公钥上传到gitlab中

配置多个ssh私钥

大多数时候,我们的机器上会有很多的git host,比如公司gitlab、github、oschina等,那我们就需要在本地配置多个ssh key,使得不同的host能使用不同的ssh key ,做法如下(以公司gitlab和github为例):

为公司生成一对秘钥ssh key

ssh-keygen -t rsa -C '[email protected]' -f ~/.ssh/gitlab-rsa
为github生成一对秘钥ssh key

ssh-keygen -t rsa -C '[email protected]' -f ~/..sh/github-rsa
在~/.ssh目录下新建名称为config的文件(无后缀名)。用于配置多个不同的host使用不同的ssh key,内容如下:

# gitlab
Host gitlab.com
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitlab_id-rsa
# github
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/github_id-rsa
  ​
# 配置文件参数
# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
# HostName : 要登录主机的主机名
# User : 登录名
# IdentityFile : 指明上面User对应的identityFile路径
按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub
OK,大功告成,再次执行git命令验证是不是已经不需要再次验证权限了。

再次查看~/..ssh目录下的文件,会有gitlab_id-rsa、gitlab_id-rsa.pub和github_id-rsa、github_id-rsa.pub四个文件