GitLab配置ssh key


使用git clone命令从GitLab上同步代码库时,如果使用SSH链接(如:[email protected]:example/example.git),但是你的SSH key没有添加到GitLab的账号设置中,系统会报下面的错误:

Permission denied (publickey).

fatal: Could not read from remote repository.

Please make sure you have the correct access rights

and the repository exists.

这时候就需要在本地创建SSH key,然后将生成的SSH key文件的内容添加到GitLab账号上去。创建SSH key的方法很简单。 

生成SSH Key的过程如下:


1).首先打开linux服务器,输入命令:ls -al ~/.ssh,检查是否显示有id_rsa.pub或者id_dsa.pub存在,如果存在请直接跳至第3步。

2).在bash中输入ssh-keygen -t rsa -C ”[email protected]”,注意这个地方的邮箱地址地址替换成你自己的邮箱地址即可,在显示如下的输出后一直按回车即可:

生成的路径为/root/.ssh/ (为隐藏文件,生成ssh公钥和私钥对)

3).打开id_rsa.pub文件,并且复制全部内容。 

4).打开GitLab账户,打开SSH Keys: 
将刚刚复制的内容添加到Key的文本域中,然后点击Add key。
这样就添加了一个SSH key。

5).完成上面的步骤之后就可以使用ssh来连接GitLab,并进行相应的操作了。


本地配置多个ssh key
1  为公司生成一对秘钥ssh key
ssh-keygen -t rsa -C '[email protected]' -f ~/.ssh/gitlab-rsa

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

3  在~/.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路径

4  按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub

5  OK,大功告成,再次执行git命令验证是不是已经不需要再次验证权限了。

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


你可能感兴趣的:(GitLab配置ssh key)