GitLab配置ssh key


使用git clone命令从GitLab上同步代码库时,如果使用SSH链接(如:git@gitlab.com: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 ”yourEmail@example.com”,注意这个地方的邮箱地址地址替换成你自己的邮箱地址即可,在显示如下的输出后一直按回车即可:

生成的路径为/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 'yourEmail@xx.com' -f ~/.ssh/gitlab-rsa

2  为github生成一对秘钥ssh key
ssh-keygen -t rsa -C 'yourEmail2@xx.com' -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四个文件


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 测试服务上使用ip访问gitlab,比如http://192.168.3.20/,这里用http://IP表示。 ...
    E狼阅读 13,648评论 0 1
  • 1.下载乌龟2.乌龟生成和保存的是私钥,而现在这边需要用到公钥,可以在命令行下面拉取代码 生成SSH密钥:http...
    抓住时间的尾巴吧阅读 878评论 0 0
  • 公司的项目是使用GitLab进行托管的,最近重新装了系统,把本地的私钥删掉了,导致项目无法Push了,原来的SSH...
    容华谢后阅读 14,765评论 1 9
  • 经常会遇到gitlab和github公用,折腾了好几次才可以正常clone,记录下解决的过程。 1.首先我们用生成...
    blinding阅读 4,933评论 0 1
  • 配置SSH key 是使用git时,实现免登陆的一直方式 安装Git 在古官网可下载git安装包https://g...
    creker阅读 19,707评论 0 4