准备工作
确保客户端和服务器都安装了 git
Centos 执行
yum install git
Ubuntu 执行
apt install git
Windows
https://git-scm.com/download/win
查看版本
git –version
服务器启用证书登录
为服务器远程登录创建密匙
ssh-keygen -t rsa
一路回车即可。正常情况下会在 ~/.ssh/ 下生成 id_rsa 和 id_rsa.pub 两个文件,一个密钥一个公钥。
导入公钥
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
重要:id_rsa 文件记得保存到本地电脑,此文件用于远程登录到服务器的密钥。
配置 SSH
编辑 /etc/ssh/sshd_config,修改以下配置
RSAAuthentication yes
StrictModes no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重启 SSH 服务
Centos
systemctl restart sshd.service
Ubuntu
service ssh restart
配置 git 服务器端
创建 git 用户组;创建 git 用户并指定 bash shell 同时添加到 git 组;为 git 用户设置密码。
groups git
useradd -s /usr/bin/git-shell git -g git
passwd git
为 git 用户准备公钥登录入口
cd /home/git
mkdir /home/git/.ssh
touch /home/git/.ssh/authorized_keys
chown -R git:git /home/git/
客户端配置 git 用户信息
git config –global user.name “skume”
git config –global user.email “skume@hotmail.com“
为 git 访问生成密钥
ssh-keygen -t rsa -C “skume@hotmail.com“
同样一路回车后即可生成公钥和密钥两个文件。密钥不用管,公钥需要上传到服务器,并配置到 git 用户的登录验证入口。
得到的公钥 id_rsa.pub 上传到服务器,并拷贝此文件中的内容写到该文件中
/home/git/.ssh/authorized_keys
创建 git 仓库
cd /home/git/
git init –bare skume.git
本地克隆仓库
git clone git@ip:/home/git/skume.git
格式:git clone 用户@服务器IP:仓库路径