配置SSH访问GIT
博客专区 > dingdayu 的博客 > 博客详情
配置SSH访问GIT
dingdayu 发表于8个月前
配置SSH访问GIT
  • 发表于 8个月前
  • 阅读 26
  • 收藏 0
  • 点赞 0
  • 评论 0
摘要: 配置一个简单的Git服务器,通过SSH访问操作。适合小团队或个人使用。

一、安装GIT

sudo apt-get install git

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

二、创建git用户

用以通过git来操作git项目

sudo adduser git

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

三、为用户创建证书登录

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

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

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

输入图片说明

四、初始化Git仓库

sudo git init --bare sample.git

新建一个裸库,关于(git initgit 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
共有 人打赏支持
dingdayu
粉丝 16
博文 85
码字总数 42868
作品 1
×
dingdayu
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: