1.服务器安装git 创建用户组和用户
yum install git
groupadd git 创建用户组
adduser git -g git 添加一个用户 -g的意思是所属组 此用户git 所属git组 这里可以自己取名字 但后期一定要注意
我就是这样不一样的人 然后多搞了几个小时
2.禁止git用户shell登录
进入etc/passwd 这是个文件 不要进去找这个目录
上面被我注掉的是原来的 改成下面这个 马赛克是我添加的那个用户(我不叫git)
3.创建证书登录
如果你的名字不是git 此目录的git要改成你的名字 我是昨天弄得这里 没有截图了 盗张图
客户端上的ssh公私钥 把公钥放入authorized_keys中 一行一个 用于验证使用git提交的人是否有权限 没有的自己生成
4.服务器上创建一个git仓库 在srv下新建gitrepo 赋予所属组和用户 新建project.git 赋予权限
chown 用户:组 地址
git init --bare project.git 创建一个git仓库
这里要修改两个所属组所属用户 然后重启ssh
5.开启ssh中的RSA认证
etc/ssh/sshd_config中
这三个参数 AuthorizedkeysFile参数按实际填入 有的说StrictModes要改成no 照着改了 不知道有没有用
6.在你本地环境克隆远程仓库
git clone 你git的名字@主机:仓库地址
一直让我输入密码 不知道是什么密码 特意去给git用户改了个密码也不对
后来发现 我的git用户名不叫git 是我自己的名字
虽然还是输入密码 但是可以连接上了
创建了一个文件去推送到服务器上测试 add commit
成功了 现在就是解决密码的问题
百度说基本上都是auth权限验证 可是我已经修改了
后来发现 对于home下的ssh权限似乎设置不对 因为我是root用户设置的 并不是使用git用户设置的
切换用户 到git组用户
失败了 是的 我们设置了禁止shell登录 看来这个设置起作用了
总之改一下git组用户对于home/git组用户名/ssh权限就好了
继续推送 成功!!!
可以继续创建另一个文件夹 模拟多人同时开发 克隆 修改 提交 推送等 测试
7.这里说一个小问题 克隆后 再关联远程仓库的时候
有这个错误 网上都是解决办法 却没找到原因
附上解决办法 删除远程库 在重新关联
.