一. 新建用户 phper
cd /home/phper/.ssh
vim authorized_keys
二.将客户端用户公钥 C:\Users\用户.ssh里的 id_local_rsa.pub 复制到上一步 authorized_keys里面
怎么查看本地公钥位置 打开任意目录 右键选择 Git Bash Here
cd ~ 即可以切换到本机 .ssh 位置
PS:
如果克隆项目 推送项目还需要密码
修改 TortoiseGit 设置 >> 网络 >> SSH 客户端位置为git 安装目录下\Git\usr\bin\ssh.exe
三.打开RSA认证
打开一进入 /etc/ssh 目录,编辑 sshd_config,下三项配置前的注释,若没有则在最后添加
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重启
/bin/systemctl restart sshd.service
四.建立裸仓库
cd /www/wwwroot
mkdir gitroot
git init --bare project.git
chown -R phper:git gitroot
五.测试 git clone 裸仓库
git clone phper@192.168.1.102:/www/wwwroot/gitroot/project.git
六. 利用git钩子实现自动化部署
vim /www/wwwroot/gitroot/project.git/hooks/post-receive
#在客户端push完成后运行,可以用来更新其它系统服务或者通知消息
git --work-tree=/www/wwwroot/project/ --git-dir=/www/wwwroot/gitroot/project.git checkout -f
#"/home/wwwroot/project"是你的工作目录,你想把文件文件推送到哪里,"/git/project/project.git"是你刚才创建的git仓库目录
chmod +X post-receive
七. 在刚git clone到本地裸仓库下 建立文件demo1.txt
添加内容
八 . 新增, 然后提交推送服务端
九. 查看服务器端自动部署是否成功
参考 https://zhuanlan.zhihu.com/p/447129974