安装git

git官网

创建一个git用户,用来运行git服务

$ sudo adduser git
$ su git
$ cd ~
$ mkdir .ssh

在git用户新建一个.ssh的目录,将开发者的SSH公钥添加到git这个用户的authorized_keys这个文件当中。

创建证书登录

  • 设置本地git用户配置

    `$ git config --global user.name "username"`
    `$ git config --global user.email "user@email.com"`
  • 创建SSH Key,私钥和公钥

    `$ ssh-keygen -t rsa -C "user@email.com"`你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,无需设置密码。如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
  • 添加SSH Key

    将本地生成的id_rsa.pub内容追加到git服务器git用户的~/.ssh/authorized_keys
  • ssh服务端配置

      $ sudo vim /etc/ssh/sshd_configRSAAuthentication yes PubkeyAuthentication yesAuthorizedKeysFile      /home/git/.ssh/authorized_keys

初始化git仓库

$ cd ~

$ mkdir project.git

$ git init --bare project.git

禁用git用户shell登录

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

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

改为:

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

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

克隆远程仓库

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

$ git clone git@192.168.1.10:/home/git/project.git
Cloning into 'project'...
warning: You appear to have cloned an empty repository.

管理公钥和权限

如果团队很小,把每个人的公钥收集起来放到服务器的/home/git/.ssh/authorized_keys文件里就是可行的。如果团队有几百号人,就没法这么玩了,这时,可以用Gitlab来管理公钥和权限,Gitlab类似Github。

转载于:https://www.cnblogs.com/finalday/p/4759815.html

搭建git服务器--ssh篇相关推荐

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

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

  2. git ssh配置文件 服务器_Linux 环境 搭建Git 服务器,并且修改SSH端口使用

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

  3. 使用 Gitolite 搭建 Git 服务器

    Gitolite 是在 Git 之上的一个授权层,依托 sshd 或者 httpd 来进行认证.(认证是确定用户是谁,授权是决定该用户是否被允许做他想做的事情). 通过 Gitolite 你可以设置访 ...

  4. kali系统搭建本地服务器,kali linux 下搭建git服务器

    参考:http://www.cnblogs.com/dee0912/p/5815267.html https://www.liaoxuefeng.com/wiki/001373951630592960 ...

  5. centos7 下搭建git服务器

    总的来说,搭建git和svn形式差不多 1.首先要在服务器安装git环境,创建用户密码和仓库等 2.然后个人主机(基本是window)安装git客户端 3.将个人主机客户端的秘钥写到git服务器的一个 ...

  6. 搭建Git服务器教程转载

    1. 在Windows下使用ssh+msysgit客户端搭建Git服务器 http://www.codeproject.com/Articles/296398/Step-by-Step-Setup-G ...

  7. git进入项目目录 windows_Windows下搭建Git服务器

    Windows平台下搭建Git服务器的图文详解及教程 Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不 ...

  8. CentOs上搭建git服务器

    CentOs上搭建git服务器 首先安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0 ...

  9. CentOS7搭建Git服务器

    CentOS7搭建Git服务器 文章目录 CentOS7搭建Git服务器 前言 搭建步骤 参考链接 前言 现有一台操作系统为CentOS 7的服务器,要将其作为代码库服务器使用,要求使用Git进行代码 ...

最新文章

  1. 图解Hbase--大数据平台技术栈07
  2. 一起来看流星雨剧情简介/剧情介绍/剧情分集介绍第三十五集
  3. css设置并排,CSS并排排列2个div
  4. 【查看Linux带宽】nload、iptraf 的安装与使用
  5. PHP实习之路—NO.1(看LINUX、APACHE、MYSQL、PHP文档)
  6. [python Cookbook]阅读笔记
  7. hibernate之生成的和默认的属性值(使用generated刷新实体) .
  8. php基本函数对象,PHP常用函数对象_PHP教程
  9. 计算机统考分数短信显示合格,今年起全省八年级网考信息技术 成绩不合格不能升高中...
  10. css表格设置行列的颜色,CSS:为表格中的选定行设置颜色
  11. jsp 如何让mysql数据库空值 返回为空格_jsp在mysql中查值传值后放文本中出现空格是怎么回事哪的问题...
  12. PAT1087 All Roads Lead to Rome (30)(最短路径+dfs+回溯)
  13. Docker安装稳定版及指定版本
  14. java for while do-while 循环的经典题
  15. 电磁场理论复习笔记-第一章(上)
  16. 12000字解读BabyCare:母婴用品品牌的终局是走向全品类吗?
  17. linux wrf 系统_WRF在Linux环境下的安装
  18. 排序算法——侏儒排序(Gnome sort)【代码实现】
  19. 论如何写一份好的前端面试简历
  20. 单片机概述+AT89S51片内硬件结构

热门文章

  1. 依赖注入和控制反转的理解(转载)
  2. 如何避免核心代码资源泄漏和如何提高开发效率
  3. CentOS离线安装gcc4.8.2 + 并安装网卡驱动
  4. Leetcode-区域和检索-数组不可变
  5. Laravel最佳实践--根据搜索参数为Model查询应用不同的Where条件
  6. JAVA无法加载此类文件,ORA-00376: 此时无法读取文件问题处理
  7. spring 的singleton 和prototype的区别和应用场合
  8. GridFsTemplate介绍以及基本使用
  9. @Configuration和@Bean注解详解
  10. 关于MongoDB的几个问题