Git伺服器的搭建

2021-07-30 17:47:21 字數 4564 閱讀 3526

一 git伺服器的搭建

1.安裝git

yum install git -y

2.建立乙個git使用者(禁用shell登入)

useradd git -s /usr/bin/git-shell

3.建立證書登入檔案(authorized_keys)

cd /home/git

mkdir .ssh

touch .ssh/authorized_keys

chown -r git:git .ssh

chmod 600 .ssh/authorized_keys

4.初始化git倉庫

1.選定目錄/home/git/sample.git

mkdir -p /data/gitroot

cd /data/gitroot

git init

--bare sample

.git

chown -r git:git sample.git

5.本地轉殖遠端倉庫

1.安裝git

yum install git -y

ssh

-keygen

-t rsa -c

"msun"

#將使用者根目錄下的.ssh/id_rsa.pub 編輯到ssh公鑰到遠端倉庫

/home/git/.ssh/authorized_keys

2.複製遠端版本庫

git clone git@ip:版本庫路徑

二 gitosis管理

) gitosis就是用來管理authorized_keys檔案和實現簡單連線限制的指令碼。

1.安裝依賴python-setuptools

yum install python

-setuptools -y

2.安裝gitosis

cd

git clone git

://github

.com

/res0nat0r

/gitosis

.git

cd gitosis

python setup

.py install

3.預設gitosis會把/home/git做為儲存所有git倉庫目錄,所以做需做軟連線。

ln -s 

/data

/gitroot//

home

/git

/repositories

4.備份已存在的authorized_keys檔案

mv 

/home

/git

/.ssh

/authorized_keys

/home

/git

/.ssh/ak

.bak

chown -r git:git /data/gitroot/

5.恢復git使用者的登入shell

sed -i 

's#/usr/bin/git-shell#/bin/bash#g'

/etc

/passwd

6.配置gitosis

#從git使用者獲得他的公匙用於初始化,此公匙所有者將成為gitosis管理員

scp root@192

.168.1

.168

:/root

/.ssh

/id_rsa

.pub

/tmp

/

#初始化

sudo -h

-u git gitosis

-init

<

/tmp

/id_rsa

.pub

#post

-update

指令碼加可執行許可權

chmod

755/

data

/gitroot

/gitosis

-admin

.git

/hooks

/post

-update

以下配置都在公匙git使用者操作

7.嘗試連線測試

[

root@test2

~]#ssh git@192

.168.1

.166

pty allocation request failed on channel

0error

:gitosis

.serve

.main

:need

ssh_original_command

inenvironment

.connection

to 192.168

.1.166

closed

.

8.建立git庫,並完成初始化

mkdir 

/gitcode

cd

/gitcode

/

git init

git config

--global user

.name

"msun"

git config

--global user

.email

"[email protected]"

9.轉殖gitosis的控制倉庫

git clone git@192

.168.1

.166

:gitosis

-admin

.git

[root@test2 ~]# tree gitosis-admin/

gitosis-admin/

├── gitosis.conf

└── keydir

└── msun.pub

#gitosis.conf檔案用來設定使用者、倉庫和許可權的控制檔案

#keydir儲存具有訪問全限的使用者

10.設定許可權

vim gitosis-admin

/gitosis

.conf

[

gitosis

]

[

group gitosis

-admin

]#組名稱

members

=msun

#成員名單

writable

=gitosis

-admin

#許可權

#追加測試

[

group mobile

]

members

=msun

writable

=iphone_project

11.提交修改

cd gitosis-admin/

git add gitosis.conf

git commit -m

"test"

git push

Git 搭建git伺服器

環境 ubuntu16.4 1.以root使用者登陸linux後台,執行下面的命令安裝git apt install git2.建立git使用者 adduser git3.建立倉庫目錄 su git mkdir p repository myself.git4.初始化倉庫 cd repository...

Git 搭建Git伺服器

在遠端倉庫一節中,我們講了遠端倉庫實際上和本地倉庫沒啥不同,純粹為了7x24小時開機並交換大家的修改。github就是乙個免費託管開源 的遠端倉庫。但是對於某些視源 如生命的商業公司來說,既不想公開源 又捨不得給github交保護費,那就只能自己搭建一台git伺服器作為私有倉庫使用。搭建git伺服器...

搭建Git伺服器

在 遠端倉庫 一節中,我們講了遠端倉庫實際上和本地倉庫沒啥不同,純粹為了7x24小時開機並交換大家的修改。github就是乙個免費託管開源 的遠端倉庫。但是對於某些視源 如生命的商業公司來說,既不想公開源 又捨不得給github交保護費,那就只能自己搭建一台git伺服器作為私有倉庫使用。搭建git伺...