在Centos下搭建git并可以通过windows客户端访问

亲测在本地虚拟机和远程服务器上无问题,如有不懂请留言。

注意事项:以下所有操作是在root权限下操作的。
1.Centos服务器版本
centos6.5

2.首先安装git,使用yum在线安装

1 yum install -y git

安装成功如图所示

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

1 adduser git

4.创建git仓库目录并初始化
a.首先创建目录:

1 mkdir -p /mydata/git/gitRepo.git

b.初始化git仓库:

1 cd /mydata/git
2 git init --bare gitRepo.git

5.改变文件的拥有着和群组

chown git:git gitRepo.git

原因:因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。

6.我们可以在客户端clone一下远程仓库
注意:在window平台上需要安装git工具
msysgit官网:https://git-for-windows.github.io/
云盘下载:https://yunpan.cn/ckGKthxzFJ4RD 访问密码 a01f

1 git clone [email protected]:/mydata/git/gitRepo.git

这里有两点需要注意:第一、第一次使用Git的clone或者push连接git,会得到一个警告:

这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。
Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里了

这个警告只会出现一次,后面的操作就不会有任何警告了。
如果你实在担心有人冒充GitHub服务器,输入yes前可以对照GitHub的RSA Key的指纹信息是否与SSH连接给出的一致。
第二,这里提示你输入密码才能clone,当然如果你知道密码,可以键入密码来进行clone,但是更为常见的方式,是利用SSH的公钥来完成验证。

7.创建SSH key
首先在用户主目录(window一般在C盘,用户文件)下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

1 ssh-keygen -t rsa -C "[email protected]"

8.Git服务器打开RAS认证

1 vim /etc/ssh/sshd_config

修改:
1.RSAAuthentication yes
2.PubkeyAuthentication yes
3.AuthorizedKeysFile .ssh/authorized_keys

如图所示:

这里我们可以看到公钥存放在.ssh/authorized_keys文件中。所以我们在/home/git下创建.ssh目录,然后创建authorized_keys文件,并将刚生成的公钥导入进去。(如果是虚拟机中的Linux,可以通过ssh,连接本地虚拟机。先用ifconfig看一下局域网中的ip,然后在ssh工具中进行连接。如图所示查看虚拟机ip 192.168.130.134)

然后再次clone的时候,或者是之后push的时候,就不需要再输入密码了:

1 git clone [email protected]192.168.130.134:/mydata/git/learngit.git

9.禁用git用户shell登陆
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。

1 vim /etc/passwd

找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

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

时间: 2024-10-12 11:24:42

在Centos下搭建git并可以通过windows客户端访问的相关文章

CENTOS下搭建git代码仓库 ssh协议

centos服务器下搭建git仓库,使用ssh协议管理仓库代码权限    git官网(http://git-scm.com/) 使用ssh协议: 一.安装git,使用yum install git 或者使用 源码包安装git-2.2.0.tar.gz(https://www.kernel.org/pub/software/scm/git/) 新建git用户与用户组 # useradd git # passwd git 二,新建git仓库(仓库位置自己随用户自己决定,例/var/git/testp

CentOS下搭建Git服务器(基于SSH协议)

1,安装Git所需依赖包 # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel # yum install gcc perl-ExtUtils-MakeMaker 2,卸载CentOS自带的git # yum remove git 3,下载较新Git版本 # mkdir /usr/src/tools # cd /usr/src/tools # wget https://www.kernel.org/

在 Linux 下搭建 Git 服务器

环境: 服务器 CentOS6.6 + git(version 1.7.1)客户端 Windows10 + git(version 2.8.4.windows.1) ① 安装 Git Linux 做为服务器端系统,Windows 作为客户端系统,分别安装 Git 服务器端: #yum install -y git 安装完后,查看 Git 版本 [[email protected] ~]# git --version git version 1.7.1 客户端: 下载 Git for Window

Windows操作系统下搭建Git服务器和客户端。

本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配置,简单易用.客户端是采用的TortoiseGit工具,UI操作,省去输入命令的麻烦,对于windows用户来说更易于使用. 所需软件: Git服务器端: BONOBO GIT SERVER,下载最新版:http://bonobogitserver.com/ Git客户端: msysgit,下载最新

Windows平台下搭建Git服务器的图文教程

Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在windows下的开发要把自己的Git仓库共享出去的话,就必 须做SSH服务器 Git服务现在独树一帜,相比与SVN有更多的灵活性,最流行的开源项目托管网站Github上面,如果托管开源项目,那么就是免费使用的,但是闭源的项目就会收取昂贵的费用,如果你不缺米,那么不在本文讨论的范围内,既然这样,我们可以自己搭建

centos下搭建dhcp服务器

centos下搭建dhcp服务器 一.软件环境 CentOS release 6.5 dhcp-4.1.1-51.P1.el6.centos.x86_64 dhcp-common-4.1.1-51.P1.el6.centos.x86_64 二.网络拓扑 dhcp服务器--H3c交换机(7503)-- H3c交换机(5500)-- H3c交换机(3100)--dhcp客户端(办公电脑) 网段: 10.2.240.0/24 10.2.180.0/24 dhcp服务器ip:10.2.33.253 三.

在Centos7下搭建Git服务器

简介 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具. 开放源码社区中的有些人觉得BitKeeper

在Linux下搭建Git服务器的方法是什么样?

第一步 安装git:可以通过命令的方式快速安装,不同的linux的安装方法可能不一样,我的是采用的yum方法.ubuntu可以用apt-get命令. sudo yum install git 第二步 添加git用户,因为git服务器只限定来做项目代码交流的,专门开出一个用户来访问git服务器,比较好管理和控制. sudo adduser git 第三步 设置git用户的登陆密码.因为git提供ssh协议登陆功能,网上有的采用了存储客户端rsa_pub密码的方式来免密登陆,但是我按照这个方法存储了

CentOS下搭建LAMP环境详解

前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS 6.5,32位. CentOS安装 我选取了32位的CentOS 6.5这个Linux系统,安装过程也很简单,不再过多叙述,只稍微介绍一下我的分区情况: 分区名  大小 /boot  200MB /swap  2GB(不大于物理分区即可) /  20GB /home 剩余空间 Apache编译安装