前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >原 配置SSH访问GIT

原 配置SSH访问GIT

作者头像
霡霂
发布2018-06-04 15:46:49
8680
发布2018-06-04 15:46:49
举报
文章被收录于专栏:雨过天晴雨过天晴

一、安装GIT

代码语言:javascript
复制
sudo apt-get install git

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

二、创建git用户

用以通过git来操作git项目

代码语言:javascript
复制
sudo adduser git

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

三、为用户创建证书登录

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

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

四、初始化Git仓库

代码语言:javascript
复制
sudo git init --bare sample.git

新建一个裸库,关于(git initgit init --bare)的区别 裸库最大的区别是在服务器上进入目录后看到的不再是项目的文件,而是原项目.git文件里的内容。

五、修改项目所属者为git

代码语言:javascript
复制
sudo chown -R git:git sample.git

sample.git为上步新建项目文件夹 改变项目所属,可以避免其他用户操作文件,也可以避免绝大多数权限问题。

六、禁用用户的shell

1、编辑/etc/passwd

代码语言:javascript
复制
sudo vi /etc/passwd

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

代码语言:javascript
复制
git:x:1001:1002::/home/git:/bin/bash

修改为:

代码语言:javascript
复制
git:x:1001:1002::/home/git:/usr/bin/git-shell

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

七、验证是否成功

代码语言:javascript
复制
git clone git@xyser.com:dingdayu/sample.git

如果出现:

代码语言:javascript
复制
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管理

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、安装GIT
  • 二、创建git用户
  • 三、为用户创建证书登录
  • 四、初始化Git仓库
  • 五、修改项目所属者为git
  • 六、禁用用户的shell
  • 七、验证是否成功
  • 附:公钥管理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档