默认情况下,我们在本地代码库中每一次提交,都需要输入git的用户名和密码,感觉非常麻烦,那有没有可以不用每次输入用户名和密码的方法呢,答案是有的,那么,下面请跟随我的脚本来简化这一流程。
一、本地通过ssh-keygen工具生成密钥和公钥
1.安装openssl
针对Redhat/CentOS系统
yum install openssl openssl-devel
针对debian/ubuntu系统:
sudo apt-get install openssl libssl-dev
2.通过ssh-keygen 命令来生成密钥和公钥
ssh-keygen -t rsa -C "ishixinke@qq.com"
- -t参数表示使用的加密算法,如rsa/dsa等
- -C 表示备注信息,一般放自己的邮箱名
- -f 指定保存密钥文件的名称(包括路径)
注:
- 输入以上命令时,会提示输入密钥文件的存放地址,默认为~/.ssh/id_rsa
- 另外会提示输入密码,建议不要密码,不然每次使用时还要输入密码
二、在web代码管理控制台添加ssh key
1.在gitlab平台添加ssh key
(1)登录gitlab后,点击顶部的个人头像,再选择”Settings”子菜单
(2)进入个人页面,在左侧菜单中选择”SSH Keys”
(3)填写公钥的内容并保存
打开第一步生成的公钥文件,默认为id_rsa.pub,复制其内容,并将内容填写到key对应的文本框中:
- key表示公钥内容
- title 公钥的一个说明
2.在github平台添加ssh key
(1)登录github,点击个人头像,选择”settings”
(2)进入设置页面,点击左侧菜单“SSH and GPG keys”
(3)将复制的公钥内容填入到相应的文本框中
三、配置ssh时使用公钥登录
1.打开个人文件夹下.ssh子目录,新建config文件(如果存在,打开即可)
输入以下内容:
Host git.domain.com
HostName git.domain.com
User shixinke
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_rsa
注:
- Host/HostName:为git库的地址
- User:为自己的git库名称
- IdentityFile:私钥文件地址
四、在IDE中配置git库地址
1.打开IDE中的git配置项:
2.设置IDE中的git地址:
注:这里的git地址是ssh地址,不是http地址,如git@git.xx.com这种