1. 在服务器上安装git和ssh

sudo apt install openssh-server openssh-client

2. 在服务器上新建一个用户,比如就叫git,使用这个用户来进行git方面的服务。

sudo adduser git

创建用户后,切换到该用户:

su git
以下操作都在Home目录下的git用户目录里进行! 

3. 在服务器上新建一个目录来放置git仓库

mkdir gitrepo
git init --bare project.git

4. 在服务器上新建ssh目录来存放访问成员的ssh公钥

mkdir .ssh

5. 在客户端上生成本机的ssh key,然后传递给服务器。

ssh-keygen
sudo scp id_rsa.pub git@192.168.174.147:~/z_id_rsa.pub

6. 在服务器上把用户公钥添加到authorized_keys文件中

cat z_id_rsa.pub >> ~/.ssh/authorized_keys

现在就可以在客户机上操作远程仓库了!

git clone git@192.168.174.147:~/gitrepo/project.git localProject

注1:用户公钥复制到服务器后可以通过shell访问服务器,有时很危险,怎么禁止用户通过shell访问呢?

将服务器上的/etc/passwd文件修改一下:

git:x:::,,,:/home/git:/bin/bash

改为:

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

这样用户在他的电脑上用shell来访问服务器时就会是这样:

ssh git@192.168.174.147

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Oct 28 19:20:43 2015 from 192.168.174.146
fatal: Interactive git shell is not enabled.
hint: ~/git-shell-commands should exist and have read and execute access.
Connection to 192.168.174.147 closed.

注2:上面的 git init --bare project.git 是创建了一个空仓库,是没有工作区的,只是为了共享。

--End--

搭建本地Git服务器6步走的更多相关文章

  1. 搭建本地git服务器

    最近因为项目需求,需要实现一个原型系统,加上后期项目需要多人协作,考虑采用了git做版本控制. 这里主要简要描述下git服务器和客户端的搭建和配置. 1.git服务器 (1)安装git sudo ap ...

  2. gitblit 搭建本地git服务器

    本文主要描述gitblit搭建本地服务器

  3. 如何搭建本地svn服务器和搭建本地Git服务器

    搭建git本地服务器使用的软件有很多,例如:gitlab,gitblit,gitbucket,gogs,gitolite,具体比较:http://softlab.sdut.edu.cn/blog/su ...

  4. 本地Git服务器的搭建及使用

    本地Git服务器的搭建及使用 Git本地服务器环境搭建 搭建好的本地git服务器的局域网ip是192.168.1.188,用户名是RSCSVN 教程链接:http://blog.csdn.net/cc ...

  5. 使用Gitblit 搭建Windows Git服务器

    使用Gitblit 搭建Windows Git服务器 整理使用Gitblit搭建Git服务器的步骤. 目录 使用Gitblit 搭建Windows Git服务器 目录 下载安装 配置 运行 客户端运行 ...

  6. 利用阿里云搭建私有Git服务器

    服务器系统:Centos 6 (查看centos版本命令:lsb_release -a) 客户端系统:Windows 7 一.服务器端安装Git ==通常centos上使用yum源安装的git版本过低 ...

  7. Windows下搭建本地SVN服务器【转】

    转自:http://www.linuxidc.com/Linux/2015-01/111563.htm 本文介绍Windows下搭建本地SVN服务器的方法,网上资料比较少也比较旧,大都介绍的是旧版本S ...

  8. [开发笔记usbTOcan]用树莓派搭建私有Git服务器

    0 | 思路 在开始编程前,先创建一个版本管理库,以前一直用SVN,但目前用Git的还是比较,正好利用这个机会学习GIt. 想过使用Github提供的免费服务器,但项目目前还没有做开源的准备,于是就有 ...

  9. Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析

    默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢.其次是部分网站域名不能正常 ...

随机推荐

  1. [置顶] 2013 Multi-University Training Contest 8

    1003 Mine 简单sg的博弈题,我们走入了nim博弈的误区,后来发现改了三四个字符就过了....我只能说我是sbsbsbsbsbsb...判奇偶啊... #pragma comment(link ...

  2. Jquery 获取文件内容

    $('.ke-edit-iframe').contents().find('body').text() <iframe class="ke-edit-iframe" hide ...

  3. IC各元器件封装形式图解

    CDIP-----Ceramic Dual In-Line Package CLCC-----Ceramic Leaded Chip Carrier CQFP-----Ceramic Quad Fla ...

  4. MyArrayList——实现自己的ArrayList!

    注:转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5965205.html ArrayList是我们常用的集合类之一,其实它的实现机制很简单,底层还是使用了一个 ...

  5. CentOS6 下Vim安装和配置

    1.系统只安装了vim-minimal,执行以下命令安装另外两个组件 yum install vim-common yum install vim-enhanced 2.安装ctags yum ins ...

  6. OC: NSString、NSArray、NSNumber

    数组参考: 参考1  参考2  参考3 //字符串 //1.获取字符串的长度: //表情符号最少占两个字节 NSString * s = @"中文字符串

  7. java静态代理与动态代理简单分析

    原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/5860749.html 1.动态代理(Dynamic Proxy) 代理分为静态代理和动态代理 ...

  8. git filename to long问题解决

    在.git/config 下面编辑 [core] longpaths = true

  9. 关于 TIdHttp

    经验总结: 1.IdHttp 不支持多线程,只支持异步.所有网上的多线程写法下,如果同时并发多个长 GET 或 POST 请求时,会阻塞. 以下代码用于显示下载数据的进程. procedure TFo ...

  10. c# 轻量级 ORM 框架 之 DBHelper 实现 (三)

    周末了比较清闲,把自己的orm框架整理了下,开源了. 已经做出来的东西通常感觉有些简单,一些新手或许听到"框架"一类的词觉得有些"高深",简单来说orm就是把a ...