搭建自有git服务笔记
服务器中创建空仓库
cd /home
useradd git
passwd git
设置git用户密码为
mkdir /home/gitroot
cd /home/gitroot
chown -R git:git /home/gitroot
git init --bare ProjectDemo.git
成功:
Initialized empty Git repository in /home/gitroot/ProjectDemo.git/
进入/etc/ssh目录,编辑 sshd_config
cd /etc/ssh
vi sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重启
service sshd restart
进入客户端控制台
打开git bash创建git使用者
git config --global user.name "wangxin"
git config --global user.email "wangxin@163.com"
1.3 创建与服务器通讯的密钥
在git bash中,输入以下命令,为自己的邮箱创建一个密钥
ssh-keygen -t rsa -C "wangxin@163.com"
一路enter下去
私钥:
Your identification has been saved in /c/Users/Administrator/.ssh/id_rsa.
公钥:
Your public key has been saved in /c/Users/Administrator/.ssh/id_rsa.pub.
打开文件
C:\Users\Administrator\.ssh\id_rsa.pub
将该文件拷贝到服务器\home\git\.ssh\authorized_keys中
vi \home\gitroot\.ssh\authorized_keys
:wq
当 git 服务的端口不是默认的 22 的时候,可以通过 config 中配置 Port 属性来指定 git 服务的端口。
在目录
C:\Users\Administrator\.ssh
添加文件config
添加内容:
Host "121.239.102.12"
Port 58022
服务器端建立工程
git init --bare ProjectDemo.git
客户端clone
git clone XXXXXXX
提示输入git用户密码:
客户端添加内容并且push
git add .
git commit -m 初始化项目
git push origin master
多用户管理
1、初始化仓库
mkdir /home/git # 在自己指定的文件夹下
git init --bare sample.git
2、修改权限
chmod -R 777 sample.git
3、创建用户及用户组
useradd gituser1
passwd gituser1 # 设置密码
useradd gituser2
passwd gituser2 # 设置密码
*************** 可选 ********************
禁用git用户的shell登录,防止用户通过Git用户登录服务器。编辑/etc/路径下的passwd文件,将文件后边的bash改成git-shell,
即将
gituser1:x:1006:1008::/home/gituser1:/bin/bash
改成
gituser1:x:1006:1008::/home/gituser1:/bin/git-shell
***********************************
groupadd gitgroup #创建git用户组
#将用户添加到用户组
usermod -G gitgroup gituser1
usermod -G gitgroup gituser2
cat /etc/group # 查看用户组及用户是否成功配置
4、修改git仓库的用户组
chgrp -R gitgroup /home/git/sample.git/
或
chown -R git:gitgroup /home/git/sample.git/
5、用户clone
git clone gituser1@{{IP}}:/home/git/sample.git
参考:
https://blog.csdn.net/bbcckkl/article/details/81634761?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
目前维护的开源产品:https://gitee.com/475660