git登录验证
执行相关git操作可以通过以下两种办法进行通信:
- git账号密码
- ssh秘钥方式
gitlab如何配置ssh
ssh原理
ssh提供一种方式,能够验证本地服务器与远程服务器之间的通信,而不需要提供相关的账号密码,主要是有:
- 公钥、私钥。公钥存放于任何你想通信的远程服务器,私钥存放于本地,只有你自己知道私钥,相对比较安全
- ssh agent,一个能够使用公钥私钥去和远程服务器通信的程序
生成ssh key
ssh-keygen -t rsa -C "xxx@qq.com"
按照命令提示一直按下按回车,即可默认生成一个id_rsa(私钥)、id_rsa.pub(公钥)
ssh目录
cd ~/.ssh
即可找到到上一步生成的一对公钥私钥
将生成的公钥,拷贝内容到gitlab的ssh设置中
此时,便完成了一个ssh key的配置
配置多个key
实际上我们经常会有需要保存github,gitlab,公司的git仓库的需求,所以需要存放多对公私钥,还得配置一个规则,与哪个远程服务器通信时使用哪个公私钥,所以有以下办法
在ssh目录新建配置文件config
# gitlab
Host git // 自己起的名字,
HostName git.gitlab.com // 对应服务器的url地址
User git // 形如git@github.com:LuoTuxiu/auto-page-web.git,这个@前面就是User
IdentityFile ~/.ssh/gitlab-rsa // 告诉ssh agent,如果匹配上面的host,就去这个路径找私钥
# github
Host gitlab // 自己起的名字,
HostName git.github.com // 对应服务器的url地址
User git
IdentityFile ~/.ssh/github-rsa
如此,便配置成功了
网友评论