一、设置Git全局用户名和邮箱配置
git config --global user.name "huhansan"
git config --global user.email "huhansan@qq.com"
如果有对设置Git信息有疑惑的可以看这边篇文章:为什么要设置Git的邮箱和用户名
二、生成Git授权证书
在 Linux/macOS 系统中,ssh-keygen
随 SSH 软件包提供;在 Windows 上,该程序包含于 MSysGit 软件包中。
这里我们在Linux上面去生成Git的SSH公钥。
1.生成授权证书
[root@VM_0_16_centos home]# ssh-keygen -t rsa -C "huhansan@qq.com"
这生成授权证书会询问你是否设置密码,和确认密码。如果无需设置直接回车即可。
看到这个界面我们的证书就生成成功了。
2.查看证书目录
[root@VM_0_16_centos ~]# cd ~/.ssh
[root@VM_0_16_centos .ssh]# ls -l
总用量 12
-rw------- 1 root root 0 4月 4 22:13 authorized_keys
-rw------- 1 root root 1679 5月 7 14:34 id_rsa
-rw-r--r-- 1 root root 397 5月 7 14:34 id_rsa.pub
-rw-r--r-- 1 root root 185 5月 7 14:38 known_hosts
id_rsa 是证书私钥
id_rsa.pub 是证书公钥
3.查看证书公钥内容
[root@VM_0_16_centos .ssh]# cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC76D2ri/6vrRxe6VYwddhkpDBLTiCxPIGXV62hv+my/YD8aTetSWKgPVjs307b8WQoy4ovS+glgHwR1JcmLymLzibhRm9zOREfPphxiZ3fMOG8yeDq8OzYljjayphK49LE8KRDTkNLvYkgH6MNGv1vxpHiz4Pe8Qif0GLEaChrWSkaBEXPayT3VMvDKbzgZeXl2uugry0k95EDMUL7ffn6PwFi75tmYXu25m5o2MOq2aQ0oHD3zjCzEA5sHOc071HDuRYzYhNVRZey1bnwSe4t1udIYXBk4AqYmBDAl5D/mMfPVBB2BdlYUuoTFXpRSp/jv0aLw99WdAgKiLYWj8g9 gzq2333@163.com
我们为什么要生成授权证书?因为可以避免在每次提交和拉取的时候输入账号密码。这里需要把证书公钥配置到Git服务端的SSH里面去。例如Github,Gitlab,Gitee等。
三、配置Git授权证书
我们这边以Gitee为例子,配置SSH的公钥。
官网网址:https://gitee.com/
有账号的直接登录,没有账号的可以先注册再登录。注册非常简单,我们这边就跳过了。
登录成功后,我们找到头像,点击设置。
进入设置后,找到SSH公钥。
标题可以随意输入,公钥就是我们之前用Git生成id_rsa.pub文件里面的内容。我们复制过来点击确定即可。
输入登录密码,点击确定。
四、验证SSH公钥配置
我们访问Liunx服务器,进入Git授权证书目录。
[root@VM_0_16_centos ~]# cd ~/.ssh/
[root@VM_0_16_centos .ssh]# ls -l
总用量 12
-rw------- 1 root root 0 4月 4 22:13 authorized_keys
-rw------- 1 root root 1679 5月 7 14:34 id_rsa
-rw-r--r-- 1 root root 397 5月 7 14:34 id_rsa.pub
-rw-r--r-- 1 root root 185 5月 7 14:38 known_hosts
输入以下命令验证是否与Gitee服务器SSH连接成功
[root@VM_0_16_centos .ssh]# ssh git@gitee.com
PTY allocation request failed on channel 0
Hi 飘仙人! You've successfully authenticated, but GITEE.COM does not provide shell access.
Connection to gitee.com closed.
这个我们看到了you've success就意味着我们与服务器正常通讯了。后面我们的git cloen,pull,push都不需要输入账号密码了。