Git中添加密钥&&ssh密钥的创建与查看(打开id_rsa.pub文件)
PS
-
本地拉取gitlab需要三个文件
.ssh/config、.ssh/id_rsa、.ssh/id_rsa.pub - 公钥.pub是给gitlab添加sshkeys使用的
- 私钥是给项目本地的配置使用的
- config的地址使用绝对路径
- 如果需要关联多个,可以在config中直接配置多个
Host git.xxxx.com
HostName git.xxxx.com
PreferredAuthentications publickey
IdentityFile /Users/xxxx/.ssh/id_rsa
Port 2222
# GitHub
Host https://github.com/
HostName https://github.com/
PreferredAuthentications publickey
IdentityFile /Users/xxx/.ssh/id_rsa
1、修改提交代码的url
若采用ssh协议的方式上传或者拉取代码,则需要ssh的代码链接地址
若采用http协议的方式上传或者拉取代码,则需要http的代码链接地址
1-1、进入gitLab的需要的代码库下,点击【clone】按钮,会显示ssh的代码链接地址和http的链接地址,选择自己想要的提交方式
1-2、如果选择是http链接地址,则跳过1-2和1-4和1-5、1-6步骤,如果选择的是ssh代码链接地址,则需要配置ssh公钥,公钥配置方法查看第1-4和1-5步骤
1-3、进入gitHub上提交代码且还有.git目录,打开config文件,将修改代码链接地址为步骤1-1中的代码链接地址,保存关闭。
ssh密钥配置方法:
1-4、进入git安装程序且含有.ssh目录,检查是否有私钥和公钥文件(如:id_rsa和id_rsa.pub),若有则说明已生成密钥,若无则需要生成密钥。
在终端输入:ssh-keygen -t rsa
一直回车确认
密钥生成方法:参考链接https://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E7%94%9F%E6%88%90-SSH-%E5%85%AC%E9%92%A5
注意:在设置秘钥的时候一定不要设置密码,否则会导致pull或者push失败
1-5、在gitLab上配置公钥:登录gitLab,点击【setting】,选择”SSH Keys“,将id_rsa.pub文件中的公钥复制并黏贴至gitLab上的Key编辑框中,根据自己的喜好设置Title名称,点击【Add key】按钮,便完成配置
1-6、在.ssh配置服务器信息:进入.ssh目录下,打开config文件,若无则需要创建config文件,内容参考如下:
# gitLab
Host git.xxxxx.com
HostName git.xxxxx.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 2222
2、提交代码,若还是不能提交成功,检查一下配置有无错误或者向gitLab管理员确认有无提交代码权限
如何从 gitlab 拉取新的项目
- 按照上面 1-6 配置好ssh 的 config。
- 配置好个人的 RSA 公钥密钥,可以参照这个 https://www.cnblogs.com/chuyanfenfei/p/8035067.html ,虽然这个页面是 github 的,但是和 gitlab 差不多。需要注意的是,我们的 gitlab 是部署在 docker 里面的,对外的端口就不能是 22 了,所以改为了 2222,下面的 1-6 这个步骤是一定要执行的。
也可以参照上面的 1-4。 - 从 gitlab 上面获取 git 开头的项目连接,然后用 git clone 弄到本地。
注意
- 公司的 gitlab 只支持 ssh 一种方式操作 仓库的原因有2点:
1. ssh能在没有 https 的时候,也能保证外网访问的安全。
2. ssh 可以方便的控制所有终端访问的权限。 -
如果出现使用ide无法使用的情况,可以尝试按照下图设置一下: