搭建本地Git服务器6步走
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步走的更多相关文章
- 搭建本地git服务器
最近因为项目需求,需要实现一个原型系统,加上后期项目需要多人协作,考虑采用了git做版本控制. 这里主要简要描述下git服务器和客户端的搭建和配置. 1.git服务器 (1)安装git sudo ap ...
- gitblit 搭建本地git服务器
本文主要描述gitblit搭建本地服务器
- 如何搭建本地svn服务器和搭建本地Git服务器
搭建git本地服务器使用的软件有很多,例如:gitlab,gitblit,gitbucket,gogs,gitolite,具体比较:http://softlab.sdut.edu.cn/blog/su ...
- 本地Git服务器的搭建及使用
本地Git服务器的搭建及使用 Git本地服务器环境搭建 搭建好的本地git服务器的局域网ip是192.168.1.188,用户名是RSCSVN 教程链接:http://blog.csdn.net/cc ...
- 使用Gitblit 搭建Windows Git服务器
使用Gitblit 搭建Windows Git服务器 整理使用Gitblit搭建Git服务器的步骤. 目录 使用Gitblit 搭建Windows Git服务器 目录 下载安装 配置 运行 客户端运行 ...
- 利用阿里云搭建私有Git服务器
服务器系统:Centos 6 (查看centos版本命令:lsb_release -a) 客户端系统:Windows 7 一.服务器端安装Git ==通常centos上使用yum源安装的git版本过低 ...
- Windows下搭建本地SVN服务器【转】
转自:http://www.linuxidc.com/Linux/2015-01/111563.htm 本文介绍Windows下搭建本地SVN服务器的方法,网上资料比较少也比较旧,大都介绍的是旧版本S ...
- [开发笔记usbTOcan]用树莓派搭建私有Git服务器
0 | 思路 在开始编程前,先创建一个版本管理库,以前一直用SVN,但目前用Git的还是比较,正好利用这个机会学习GIt. 想过使用Github提供的免费服务器,但项目目前还没有做开源的准备,于是就有 ...
- Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析
默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢.其次是部分网站域名不能正常 ...
随机推荐
- Gradle 1.3之前的Publishing artifacts
在Gradle1.3之前,Publishing artifacts是使用uploadConfigurationName来publish 声明artifacts是靠使用 build.gradle art ...
- utf8 和 UTF-8 的区别
只有在MySQL中可以使用“utf-8”的别名“utf8”,但是在其他地方一律使用大写“UTF-8”.
- python svn
svn 0.3.36 Downloads ↓ Intuitive Subversion wrapper. Introduction svn is a simple Subversion library ...
- 做fzu oj 1045 做减法学到的sprintf()函数
题目 做题一直输不出答案,于是就上网去百度了这题的解题,发现解答十分的简短,而且其中我看见了平时没见过的函数,sprintf(). 于是就百度sprintf()的使用. 如下: 函数功能:把格式化的数 ...
- No package identifier when getting name for resource number 0x00000000
貌似在新版本的SDK下有时会出现标题的这个warning~ 如下: 思前想后也不知道这个到底是说的哪里的问题,在逛谷歌的时候无意中发现有人说是因为xml中color的参数直接写成: android: ...
- ios和android一并学习的体会
如果说为什么要同时学习这两种不同的移动平台,其实有一定的“闲”的因素在里面. 相对于ios,android我是早半年接触的.最开始学习的时候也就是j2ee学习的延续,通过看视频连带看书学了大概一个月的 ...
- 高分辨率 2x图像: -webkit-min-device-pixel-ratio 的常见值对照
-webkit-min-device-pixel-ratio的常见值对照 原文地址:http://zhangyaochun.iteye.com/blog/1816582 前言: 本文来自于对 http ...
- svn 冲突解决
svn: E155015: Aborting commit: '$path + $file' remains in conflict 解决步骤 1.svn resolved 'file'执行后结果Re ...
- Java常见排序算法之快速排序
在学习算法的过程中,我们难免会接触很多和排序相关的算法.总而言之,对于任何编程人员来说,基本的排序算法是必须要掌握的. 从今天开始,我们将要进行基本的排序算法的讲解.Are you ready?Let ...
- Android Recovery Ui 分析
Android recovery和android本质上是两个独立的rootfs, 仅仅是recovery这个rootfs存在的意义就是为android这个rootfs服务,因此被解释为Android ...