您的位置:首页 > 其它

配置SSH访问GIT

2017-01-16 00:00 288 查看
摘要: 配置一个简单的Git服务器,通过SSH访问操作。适合小团队或个人使用。

一、安装GIT

sudo apt-get install git

也可以编译安装:centos 编译安装git

二、创建
git
用户

用以通过
git
来操作git项目

sudo adduser git


默认情况下会创建一个
git
的用户属于
git


三、为用户创建证书登录

将需要管理操作git项目的成员用户
id_rsa.pub
(即
github
SSH keys
管理),添加到
/home/git/.ssh/authorized_keys
,一行一个。

这一步是为了在拉取或推代码时不再输入密码

当然你也可以为用户设置密码,然后再操作项目时输入密码,但是不推荐这样做。(理由如果你不理解的话,就操作一遍喽!)



四、初始化Git仓库

sudo git init --bare sample.git


新建一个裸库,关于(
git init
git init --bare
)的区别

裸库最大的区别是在服务器上进入目录后看到的不再是项目的文件,而是原项目
.git
文件里的内容。

五、修改项目所属者为
git

sudo chown -R git:git sample.git


sample.git
为上步新建项目文件夹

改变项目所属,可以避免其他用户操作文件,也可以避免绝大多数权限问题。

六、禁用用户的
shell

1、编辑
/etc/passwd


sudo vi /etc/passwd

2、修改刚才新建用户记录


git:x:1001:1002::/home/git:/bin/bash

修改为:

git:x:1001:1002::/home/git:/usr/bin/git-shell


即禁用shell登录

请检查
/usr/bin/git-shell
是否存在(即是否安装成功)

七、验证是否成功

git clone git@xyser.com:dingdayu/sample.git

如果出现:

Cloning into 'sample'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

则代表配置成功。

warning 警告拉取的是一个空的库

dingdayu/sample.git
是库的路径,是相对于用户主目录的路径。

附:公钥管理

小团队的管理通过修改
authorized_keys
还可以管理(所有人可以操作所有库),当具体的操作权限细分后,比如每个库不同的操作用户时,就不在满足。

这里附两个方法,不过没试过,是在网络上看到的。

1、gitolite

2、通过GIT Hook管理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Git Git配置 SSH GIT