搭建自有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

 

posted @ 2020-10-16 18:14  昕友软件开发  阅读(264)  评论(0编辑  收藏  举报
欢迎访问我的开源项目:xyIM企业即时通讯