服务端操作

安装Git及创建用户组、用户

1
2
3
yum install git
groupadd git
adduser git -g git

禁止用户git登录

修改/etc/passwd文件:

找到这句: git:x:503:503::/home/git:/bin/bash

改为: git:x:503:503::/home/git:/usr/bin/git-shell

git-shell这个命令地址有可能不是/usr/bin/git-shell,最好用which git-shell命令查看一下,确保命令地址正确。

创建证书登录

1
2
3
4
5
mkdir /home/git/.ssh
chmod 700 /home/git/.ssh
chown -R git:git /home/git/.ssh/
touch /home/git/.ssh/authorized_keys
chmod 600 /home/git/.ssh/authorized_keys

启用免密登录

/etc/ssh/sshd_config,启用该文件中以下三项内容:

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

然后重启ssh服务:service sshd restart

创建git仓库

1
2
3
4
5
6
7
8
$ cd /srv
$ mkdir gitrepo
$ chown git:git gitrepo/
$ cd gitrepo
# 创建一个空的Git仓库,服务器上的Git仓库通常都以.git结尾
$ git init --bare project-name.git
# 将仓库所属用户改为git 大专栏  在服务器搭建git服务器
$ chown -R git:git project.git

客户端操作

生成密钥ssh-keygen -t rsa -C “youremail@xxx.com

如果不想以后使用时再输入密码,就一路回车,会生成id_rsa密钥文件和id_rsa.pub公钥文件,存放的地址会默认放在c:/Users/Shem/.ssh目录下。

如果有用户密码:可以使用命令将密钥追加到服务器git用户目录/home/git/.ssh/authorized_keys文件中:ssh root@host ‘mkdir -p /home/git/.ssh && cat >> /home/git/.ssh/authorized_keys’ < ~/.ssh/id_rsa.pub

也可以使用root登录后,将公钥内容直接复制,vim打开/home/git/.ssh/authorized_keys文件粘贴到里面去,一行一个公钥

拉取项目

git clone git@xxx.xxx.xxx.xxx:/srv/gitrepo/project-name.git(默认ssh端口为22)

git clone ssh://git@xxx.xxx.xxx.xxx:22/srv/gitrepo/project-name.git

如果ssh端口不是22,则需要修改此命令

免密访问失效的原因

  1. 可能是以上操作中的文件或者目录权限不正确,需要检查一遍
  2. 可能是selinux的开启导致
  3. 可能是以上操作“禁止用户git登录”导致的,则需要取消这个操作

参考

在服务器搭建git服务器的更多相关文章

  1. #阿里云#云服务器搭建git服务器

    前言:大家都知道,git是非常方便的版本控制工具,目前网上有很多免费的git仓库可以给我们使用,但是有些时候我们并不放心将我们的项目寄放在别人的服务器上,这个时候就需要自己搭建一个git服务器,十分的 ...

  2. 搭建Git服务器

    在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...

  3. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

  4. centos 搭建git服务器

    centos 6搭建git服务器 安装 rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm yum ins ...

  5. 如何在服务器上搭建git服务器

    参考文章: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770 ...

  6. 使用Gitosis搭建Git服务器

    使用Gitosis搭建Git服务器 作者: JeremyWei | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址: http://weizhifeng.net/build- ...

  7. CentOS 6.4 搭建git 服务器

    CentOS 6.4 搭建git 服务器 (2013-11-22 19:04:09)转载▼ 标签: it 分类: Linux 此文件是依据markdown所编写,更好效果参见本人github的文档ht ...

  8. Windows平台使用Gitblit搭建Git服务器图文教程

    Git服务现在独树一帜,相比与SVN有更多的灵活性,最流行的开源项目托管网站Github上面,如果托管开源项目,那么就是免费使用的,但是闭源的项目就会收取昂贵的费用,如果你不缺米,那么不在本文讨论的范 ...

  9. 在linux中搭建git服务器

    个人觉得, 以下搭建git服务器的过程就像是在linux增加了一个用户, 而这个用户的登录shell是 git-shell, 太刨根问底的东西我也说不清楚, 还是看下面的过程吧. 过程参考了网上的文章 ...

随机推荐

  1. 前后端分离java、jwt项目进行CORS跨域、解决非简单请求跨域问题、兼容性问题

    情况描述: 最近在部署一个前后端分离的项目出现了跨域问题*, 项目使用jwt进行鉴权,需要前端请求发起携带TOKEN的请求*,请求所带的token无法成功发送给后端, 使用跨域后出现了兼容性问题:Ch ...

  2. java课程之团队开发冲刺阶段1.9

    一.总结昨天进度 1.学习了简单的消息推送方法,并且能够使用进行每日定时推送 二.遇到的困难 1.在每日推送的过程中,程序必须被正常关闭,如果程序是被切到后天然后直接结束进程的话,每日推送的线程服务也 ...

  3. 【从0到1学算法】大O表示法

    一般我们在选择算法时,都是想要选择效率最高的算法.那算法的效率,用什么表示?没错!就是用大O表示法. PS: 大O表示法中,log即为log2,后面不再说明. 下面以简单查找和二分查找,在含有n个元素 ...

  4. windows更新系统系统时无法更新

    win7系统显示“windows update当前无法检查更新,因为未运行服务,您可能需要重新启动计算机” 解决方法 1.win+r打开运行窗口,输入CMD 2.在dos窗口中输入命令“net sto ...

  5. B. Odd Sum Segments CF(分割数组)

    题目地址 http://codeforces.com/contest/1196/problem/B B. Odd Sum Segments time limit per test 3 seconds ...

  6. idea抛出异常:org.apache.shiro.authc.AuthenticationException

    问题描述 继续在ubuntu下折腾,终于将web项目的所有的东西配置好了,然后运行项目,满怀期待的心情登录系统的时候,突然出现了这个bug,吓得我差点从椅子上跳起来,这两天遇到的bug实在是太多了.. ...

  7. 吴裕雄--天生自然深度学习TensorBoard可视化:改造后的mnist_train

    import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data INPUT_NODE = 784 ...

  8. 用Python3生成30万条excel数据(xlsx格式)

    在B/S架构的系统测试中,有时需要通过导入excel文件来生成一些数据记录,当数据量小的时候,一般不会出现什么问题,而当导入的数据量巨大时,对系统的性能就是一个考验了.为了验证系统的性能,有时需要导入 ...

  9. Web 全栈大会:万维网之父的数据主权革命

    大家好,今天我和大家分享一下由万维网之父发起的一场数据主权革命.什么叫数据主权?很容易理解,现在我们的数据是把持在巨头手里的,你的微信通讯录和聊天记录都无法导出,不管是从人权角度还是从法理角度,这些数 ...

  10. TS写法

    主题句常用句型: ...can/may... ...有助于/帮助.....,(定语从句) ...enable/allows sb. To do... By doing .....,...can.... ...