第一步,安装git:

源码安装参考:http://www.cnblogs.com/syuf/p/9151115.html

第二步,创建一个git用户,用来运行git服务:

$ sudo adduser git

第三步,创建证书登录:
收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。

$ cd /home/git/

$ mkdir .ssh

$ cd .ssh

$ mkdir authorized_keys

第四步,初始化Git仓库:

先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令:

$ sudo git init --bare sample.git

Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:

$ sudo chown -R git:git sample.git

第五步,禁用shell登录:

出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

git:x:500:500::/home/git:/bin/bash

改为:

git:x:500:500::/home/git:/usr/bin/git-shell

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

第六步,克隆远程仓库:

现在,可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:

$ git clone git@server:/srv/sample.git

Cloning into 'sample'...

warning: You appear to have cloned an empty repository.

剩下的推送就简单了。

转载于:https://www.cnblogs.com/syuf/p/9151397.html

linux-git服务搭建相关推荐

  1. Linux 常用服务搭建笔记(精简笔记)

    Linux 常用服务搭建笔记(精简笔记) 阅读目录 部署DNS实现解析 部署DNS主从同步 部署DNS缓存服务 部署DNS加密同步 部署DNS分离解析 部署DNS负载均衡 配置DHCP自动分配IP 配 ...

  2. Linux samba服务搭建

    Ubuntu samba服务搭建 samba服务安装 sudo apt-get install samba samba-common -y 如下: smaba配置文件设置 sudo vi /etc/s ...

  3. Linux高级服务搭建

    集群 集群原理 集群:一组协同工作的服务器对外表现为一个整体 LBC:负载均衡集群,多台主机承担压力请求 HAC:高可用集群,尽可能的保障服务的不间断运行 HPC:高性能运算集群,提供单台服务器提供不 ...

  4. 『互联网架构』软件架构-git服务搭建与使用(四)

    很多跟我一样大概有十多年的同事,一直做着企业内部开发,现在还在使用svn,跟大家聊起来git,他们都知道,只是项目里用习惯了svn一直也没改变,我相信这只是时间的问题,在不久的将来必然会使用git,正 ...

  5. linux git服务器搭建端口号是多少,Linux 环境 搭建Git 服务器,并且修改SSH端口使用...

    1.环境配置说明 服务器 CentOS 7 + git(git version 1.8.3.1) 客户端 Windows10 + SourceTree 2.安装 Git 服务器端安装: sudo yu ...

  6. Linux服务器服务搭建及项目部署超详细教程

    目录 1.安装JDK 1.1 下载JDK 1.2 解压JDK 1.3 配置profile文件 1.4 删除openJDK 2.安装maven 2.1 准备maven安装包 2.2 解压maven安装包 ...

  7. GIT之git及git服务搭建

    GIT是一种分布式VCS,他的.git目录是一个压缩过的文件数据库,包含了这个所有文件历史对象,外边的文件其实就是从.git目录取出来的.所有的文件历史都是用sha1码唯一区别. 多数VCS保存的是版 ...

  8. linux 6 服务搭建,Linux CentOS6.8搭建sftp服务

    开始搭建sftp服务 第1歩,添加sftp用户并制定根目录: useradd -d  /ygsoft/sftp  -s /bin/bash sftpuser 第2歩,修改密码:执行passwd sft ...

  9. Linux git环境搭建和常用指令--推送至Github为例

    安装Git sudo apt-get install git 提交代码信息配置 $ git config --global user.name "runoob" $ git con ...

  10. Linux DHCP服务搭建

    DHCP服务器 1.安装DHCP包 2.vi  /etc/dhcpd.conf 进如编辑区域 ddns-update-style-time interim; default-lease-time 21 ...

最新文章

  1. linux uvc 支持的设备,摄像头是否支持uvc
  2. HSQLDB两条基本命令
  3. linux shell 指定端口 杀进程 结束进程
  4. boost::container模块实现基本分配的测试程序
  5. Zuul:Cookie和动态路由
  6. CSS之Screen视图属性
  7. mysql安装被打断_Mysql的安装/性能优化/安全加固
  8. Java笔记-通过放射获取类中成员名及调用get方法及map构造JSON数据
  9. 0x800f0845 更新1803报错
  10. cookie代码加时间多久出现一次_一文彻底搞懂Cookie、Session、Token到底是什么
  11. 三层交换机如何配置?如何实现不同vlan间的通信?
  12. 你的邮件为何被标记为垃圾邮件?
  13. linux下的系统监控软件,管理员必备的20个Linux系统监控工具
  14. DOS简介及基本操作
  15. 制图小课堂:美国机场可视化黑白围棋风格专题
  16. as3.0 当fla里面有TLF文本的时候,加载声音会出现错误
  17. 活跃用户怎么理解?活跃用户的数据怎么看?
  18. 百度大脑开放日·互联网内容安全线上专场报名中!
  19. 隧道技术_复杂地质的隧道施工技术(下)
  20. 浓浓新华情 温暖大家庭

热门文章

  1. 【Linux】一步一步学Linux——route命令(169)
  2. 【cJson】 JSON格式详解
  3. 广东省计算机大赛设计什么时候,2017年广东省大学生计算机设计大赛
  4. linux sed p变量,Linux sed 命令详解系列教程之各种问题解决
  5. 如何出(改编)一道ACM算法题?
  6. 每天一道LeetCode-----某个数在递增序列第一次和最后一次出现的位置
  7. resnet50训练imagenet记录
  8. 水利水电工程管理与实务电子版习题_每日一练:一级建造师案例题(水利水电工程管理与实务)...
  9. 禁止 VMware Fusion 自动调整 Windows 分辨率
  10. web渗透之前端基础