[git]ssh方式的密钥和公钥

172 阅读1分钟

新版本需要使用 ssh-keygen -m PEM -t rsa -C xxx@xxx.com 来生成密钥,详见:blog.csdn.net/lsp84ch80/a…

采用ssh方式的好处就在于不用输用户名和密码

ssh生成一对公钥和密钥,公钥会有一串比较短的指纹,密钥也可以另外采用密码加密,我们可以将公钥公布出去,对方拿着公钥给我们发信息,我们用密钥来解。

具体到gitLab上面,我们本地生成publicKey和privateKey:

ssh-keygen -t rsa -C "xxx@xxx.com"
-t指定密钥格式
-C 别名,用以区分
-f可以指定文件名,用以新增文件而不是覆盖

会生成一个密钥id_rsa,公钥id_rsa.pub,如果是linux,本地操作到此就结束了,如果是win,需要手动把privateKey注册进去(注册过的话,需要跑一下start-ssh-agent即可),在git init之后,我们需要启用密钥管理器ssh-agent:

ssh-agent bash

之后把密钥注册进去:

ssh-add /c/Users/dell/.ssh/id_rsa

查看:

ssh-add -l

清除:

ssh-add -d

本地就完成了,我们需要与gitlab建立连接,我们网页登录git账号,到账号-->设置下面,将我们的公钥文本内容粘贴过去,这样就完成了。直接使用git clone,或者git remote add -f xxx 之后pull ,都是可以的。

我们也可以安装别人的密钥key,这样相当于拥有了别人的账号。

jenkins就可以上传密钥文件,来拉取git代码

参考:www.jianshu.com/p/1246cfdbe…