文档章节

配置SSH访问GIT

dingdayu
 dingdayu
发布于 2017/01/16 11:21
字数 564
阅读 34
收藏 0
点赞 0
评论 0

一、安装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管理

© 著作权归作者所有

共有 人打赏支持
dingdayu

dingdayu

粉丝 33
博文 105
码字总数 51080
作品 3
海淀
后端工程师
解决git本地多ssh key的问题

最近手上一个项目需要使用到一台服务器作为专用的部署服务器,在实施过程中遇到了一些问题,具体如下: 1. 服务器的ssh默认端口和项目git仓库的ssh端口不一致2. 部署需要使用项目提供的ssh k...

aaao ⋅ 2016/03/21 ⋅ 0

ubuntu14.10server搭建git服务器成功记录

安装配置git 安装git和openssh。在当前用户下执行如下命令安装git和openssh: git-core是git版本控制核心软件 安装openssh-server和openssh-client是由于git需要通过ssh协议来在服务器与客户...

包子的账号 ⋅ 2015/08/21 ⋅ 0

GitHub账户设置多个SSH Keys

博客原文传送门:GitHub账户设置多个SSH Keys 针对不同的git代码库配置不同的的git name, email, 以及相应的ssh公私钥。满足同一台电脑或是同一个git 账户的不同用户提交。尤其适用于在公用电...

willheng ⋅ 2017/11/30 ⋅ 0

Linux 下 git 安装 远程服务搭建

系统环境: CentOS 6.6 x86_64 服务端 IP:192.168.2.45 本文针对 git 的 SSH 协议,搭建远程服务。与创建一个普通用户,通过 SSH 协议授权访问的操作思路完全一致, 只不过服务端与客户端在...

jims ⋅ 2015/11/09 ⋅ 0

git服务器与客户端的安装与使用

首先准备环境 centos7,最小化安装,配置网络,能访问外网,关闭防火墙selinux,配置yum源 设置好网络和防火墙 网络需要能访问外网, ip 192.168.1.8 下面关闭防火墙 setenforce 0 systemctl...

super李导 ⋅ 01/07 ⋅ 0

Git : SSH 协议服务器

SSH协议语法格式 对于拥有 shell 登录权限的用户账号,可以用下面的语法访问 Git 版本库: 语法 1 : ssh://[@][:]/home/xxx/repo1.git 语法 2 : [@]:/home/xxx/repo1.git 注意 : SSH 协议地址...

wudized ⋅ 2017/07/10 ⋅ 0

Git : SSH 协议服务器

SSH协议语法格式 对于拥有 shell 登录权限的用户账号,可以用下面的语法访问 Git 版本库: 语法 1 : ssh://[@][:]/home/xxx/repo1.git 语法 2 : [@]:/home/xxx/repo1.git 注意 : SSH 协议地址...

wudized ⋅ 2017/07/10 ⋅ 0

Ubuntu下安装Git和Gitolite

Ubuntu Server 11.04 git的源码包安装 server版系统默认安装时没有gcc工具,需要额外安装,desktop已经有了 当机器可以连接外网后就可以通过sudo apt-get 来安装了 (注意:要先更新一下包源列...

蓝桥书生 ⋅ 2012/05/17 ⋅ 2

Git : SSH 协议服务器

SSH 协议用于为 Git 提供远程读写操作,是远程写操作的标准服务。 SSH协议语法格式 对于拥有 shell 登录权限的用户账号,可以用下面的语法访问 Git 版本库: 语法 1 : ssh://[@][:]/home/xx...

llljj96 ⋅ 2017/05/23 ⋅ 0

Centos 7.X 部署基于Git&Gitolite的分布式版本控制系统

1、简介 1.1 git 简介 Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这...

甘兵 ⋅ 2017/12/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Hive函数

1.函数explode (一转多) create table hive_wc(sentence string); load data local inpath '/home/hadoop/data/hive-wc.txt' into table hive_wc; 结果: hive > select * from hive_wc; ......

GordonNemo ⋅ 15分钟前 ⋅ 0

PE格式第三讲扩展,VA,RVA,FA的概念

作者:IBinary 出处:http://www.cnblogs.com/iBinary/ 版权所有,欢迎保留原文链接进行转载:) 一丶VA概念 VA (virtual Address) 虚拟地址的意思 ,比如随便打开一个PE,找下它的虚拟地址 这边...

simpower ⋅ 32分钟前 ⋅ 0

使用Java connector消费ABAP系统的函数

Java Connector(JCO)环境的搭建:Step by step to download and configure JCO in your laptop 我的ABAP系统有个函数名叫ZDIS_GET_UPSELL_MATERIALS,输入一个customer ID和product ID,会输......

JerryWang_SAP ⋅ 38分钟前 ⋅ 0

IDEA提示编码速度

焦点移动 将焦点冲代码编辑窗口移动到菜单栏:Alt+菜单栏带下划线字母 将焦点从工具窗口移动到代码编辑窗口 Esc或Shift+Esc 将焦点从代码编辑移动到最近使用的工具窗口 F12 模板提示 Ctrl+J...

bithup ⋅ 50分钟前 ⋅ 0

180623-SpringBoot之logback配置文件

SpringBoot配置logback 项目的日志配置属于比较常见的case了,之前接触和使用的都是Spring结合xml的方式,引入几个依赖,然后写个 logback.xml 配置文件即可,那么在SpringBoot中可以怎么做?...

小灰灰Blog ⋅ 今天 ⋅ 0

冒泡排序

原理:比较两个相邻的元素,将值大的元素交换至右端。 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第...

人觉非常君 ⋅ 今天 ⋅ 0

Vagrant setup

安装软件 brew cask install virtualboxbrew cask install vagrant 创建project mkdir -p mst/vmcd mst/vmvagrant init hashicorp/precise64vagrant up hashicorp/precise64是一个box......

遥借东风 ⋅ 今天 ⋅ 0

python3.6 安装pyhook_3

我的是在win下的,忙了半天老是安装不了, pip install 也不行。 那么可以看出自己的版本是32bit 一脸懵逼 没办法 只好下载32版本的来安装 我一直以为 是 对应32 位的 。 下面是 小例子 http...

之渊 ⋅ 今天 ⋅ 0

004、location正则表达式

1、location的作用 location指令的作用是根据用户请求的URI来执行不同的应用,也就是根据用户请求的网站URL进行匹配,匹配成功即进行相关的操作。 2、location的语法 = 开头表示精确匹配 ^~...

北岩 ⋅ 今天 ⋅ 0

CentOS7 静默安装 Oracle 12c

环境 CentOS7.5 最小安装 数据库软件 linuxx64_12201_database.zip 操作系统配置 关闭 SELinux sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config 关闭防火墙 systemctl disable ......

Colben ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部